Only save previous ! command when typed by the user

Hi all,
I set out to create a mapping to run !! and only pause for the ENTER prompt if the command fails.
I expected that something like this would work:
nnoremap <expr> <leader>s PrevCmdSilentUnlessFail()

function! PrevCmdSilentUnlessFail()
    silent !!
    if v:shell_error
        !
    else
        redraw!
    endif
endfunction

This doesn't work because the lone ! clobbers the previous command.
I thought another approach might be to not use silent but to issue a <cr> on success to dismiss the prompt. This works when in a mapping like nnoremap <leader>s :!<cr><cr>, but I could not get it to work with a conditional.
I can't say conclusively whether there is a reasonably simple way to do this in master, since I am new to vim customization.
What would be the implications of only storing the previous ! command when typed by the user? Are there scripts/plugins which would be broken by this?
When it comes to this patch, I'm not 100% sure that "typed by the user" is what this is doing. I inferred from the code in src/ex_docmd.c which saves ": only when "the command was typed," according to the comments.
~C

Codecov Report

Merging #2836 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2836      +/-   ##
==========================================
+ Coverage   75.39%   75.39%   +<.01%
==========================================
  Files          92       92
  Lines      134658   134658
==========================================
+ Hits       101531   101532       +1
+ Misses      33127    33126       -1

Impacted Files
Coverage Δ

src/ex_cmds.c
79.38% <100%> (-0.08%)
:arrow_down:

src/channel.c
82.88% <0%> (-0.08%)
:arrow_down:

src/if_py_both.h
76.59% <0%> (-0.01%)
:arrow_down:

src/gui_gtk_x11.c
47.73% <0%> (ø)
:arrow_up:

src/os_unix.c
54.36% <0%> (+0.04%)
:arrow_up:

src/message.c
74.83% <0%> (+0.04%)
:arrow_up:

src/gui.c
47.83% <0%> (+0.05%)
:arrow_up:

src/if_xcmdsrv.c
84.71% <0%> (+0.53%)
:arrow_up:

Continue to review full report at Codecov.

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

I would suggest to just store previous ! command in v: variable (with read-write access) or make it accessible via a pair of functions ({get,set}_prev_bang_cmd()). This way when you need something strange you have a straightforward solution which also is backwards compatible and does not have unknown implications.
Note though that your variant is guaranteed not to work in GVim, unlike somehow dismissing press enter prompt. I would suggest to try with systemlist(): in case of error you :echom returned lines, in case of success you do nothing. But you need to actually know previous shell command then, so it would not be possible without suggestion above, or without making a habit to use some user command which stores previous command in place of just bang.

Apart from the customization scenario that led me down this rabbit-hole, there is the question of whether the storage of previous ! behaves like a user would expect or in keeping with established patterns elsewhere in vim (the storage of ": only when typed comes to mind).
Unfortunately when I tried the logic I currently have checked in (using getline_equal(eap->getline, eap->cookie, getexline) to test for whether the bang was typed) within gvim (MacVim in this case) it did not behave the same as vim -- in particular, the second bang in my above user func still clobbered the previous command. If this functionality were desired it would entail more digging.
@ZyX-I I do like the v: variable solution (and v:prev_bang_cmd makes a nice name), has zero risk, and subsumes the functionality of my "typed command" approach, and so the only possible downside is that someone might assume ! history behaves like ": and overlook v:prev_bang_cmd in the manual. Not unreasonable though what with vim being fairly up-front about sticking to basics when it comes to ! functionality (thinking of :h shell-window).
The systemlist() + :echom + v:prev_bang_cmd implementation of my desired mapping does work in GVim, but command output is not shown while it runs, also preventing use of ^C. And similarly, despite silent !! + ! + v:prev_bang_cmd working nicely in vim for the most part, there is the annoyance of ^C during silent !! requiring a ^L to redraw.
On considering all this again, I am wondering if I could simply add a settable option for whether to wait at the end of bang command based on exit code. A 4-state option (wait on success, wait on fail, wait on either, wait on neither) might work.
The best option might be to improve scriptability when sitting at the ENTER prompt. This could get hairy, but I will have a crack at it.

For output being shown while it runs there would be jobs. But then making ^C work to interrupt running command could be tricky for different reason. As for the option it would make sense to have an event like ShellCmdPost to run at “press enter” prompt and allow to select desired behaviour (see SwapExists), but actually this name is already taken for an event which runs after “press enter” prompt.

I've been experimenting with an event (ShellCmdPrompt seems like a good name) which fires at the "press enter" prompt. It works perfectly for the case I was interested in, both in vim and Gvim, using an autocmd like this:
autocmd ShellCmdPrompt * if !v:shell_error | call feedkeys("\<cr>") | endif

My concern now is that this allows vim commands to be run while in cooked mode. I tested this with:
autocmd ShellCmdPrompt * tselect /do_

This can be recovered from, but it doesn't work right. I thought of getting out of cooked mode temporarily while the autocmds run, but I am not yet familiar enough with vim's drawing system and haven't had any luck with a few trial-and-error attempts. I can imagine there might also be issues with running certain commands prior to wait_return.
There may not be any sane reason to want to run commands that do any non-cooked drawing while sitting at the "press enter" prompt. Most everything of that nature can probably be done at ShellCmdPost instead.
It may suffice to just document this caveat, but I don't know whether such openings for undefined behavior would be considered acceptable in vim. Otherwise, though, this seems like a nice solution for the case I originally brought up, and could be useful in other customization scenarios.

I've decided for my case to just use
nnoremap <leader>s :call PrevCmdSilentUnlessFail()<cr>
"nnoremap <expr> <leader>s PrevCmdSilentUnlessFail()

function! PrevCmdSilentUnlessFail()
    silent !!
    if v:shell_error
        sh
    else
        redraw!
    endif
endfunction

I might eventually wrap this up and get it to a good enough state to integrate, or this might just be below the level of usefulness to pursue further. But I'm going to close the PR because as of now it is dormant (my last checkin is the working autocmd implementation but without documentation or tests).


Material Design

App works well but has Holo design on Android 5.0. A design update would be great.

Ok. https://www.youtube.com/watch?v=x5-ntYM_2UY
From what I can see. The app is very much like material design.
Did you want there to be a styles file or something specific.
Let me know and I'll try to modify or add more material design features.

Ok. https://www.youtube.com/watch?v=x5-ntYM_2UY
From what I can see. The app is very much like material design.
Did you want there to be a styles file or something specific.
Let me know and I'll try to modify or add more material design features.

I think this discussion was added to another place,I can explain there

Oh no am mixing up my apps,yeah last FM scribbler does not support material design,even with the new update. "About" and "What's new" (and arguably also "Options") should show from a swipe in from the left of the screen (see where the  play store settings options are for an example)
Also the whole app is simply black. Why not make the notification bar red for a bit of color?

I see what you mean. These will definitely be considered, but maybe not for the next release. Internals take priority.

Thanks, I love the app,minimal but works great

OK. I have taken a look at some material design templates and this app is made to be used for much older versions of android. Material design is possible, but it doesn't need to be done now.

Here's a good resource.
I will try to do something similar.
https://github.com/antoniolg/MaterializeYourApp


Fixed issue #122 : Added an alert when user click on Send Message

Fixed issue #122
solved all the three issue mentioned above attaching a screenshot for the same.

Resolve the conflicts of this branch. You may raise another PR after resolving the conflicts.


AWS@Apple Brew Configuration

== AWS@Apple Brew Configuration ==
==> Tapping homebrew/bundle
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 5064 (delta 3), reused 3 (delta 0), pack-reused 5050
Receiving objects: 100% (5064/5064), 1.12 MiB | 1.22 MiB/s, done.
Resolving deltas: 100% (2972/2972), done.
Tapped (103 files, 1.5MB).
Error: undefined method named' for #<OptionParser:0x00007f9cddb68b00> Please report this bug:   https://github.com/Homebrew/homebrew-bundle/issues /usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/cmd/bundle.rb:88:in bundle'
/usr/local/Homebrew/Library/Homebrew/brew.rb:103:in `'

brew update.


Missing rules file

The file that contains the rule(s) doesn't seem to be available on Github.
Also, what is the correct directory for the rules file, when creating a Spring application?
Does the project require a kmodule.xml file?
Thanks
Art
P.S. Thanks for your work creating great tutorials.

Hey @ArthurFlanagan  I assume you're referring to the spring-drools and drools modules?
Both have the rules files available in the src/main/resources directory.
You can use an in-memory kie module or the xml file.
Cheers.

I think correct repo is this one: https://github.com/eugenp/tutorials/tree/master/drools

@rahulaga  Right, we have a simple drools module that you linked to, and a Spring with drools module: https://github.com/eugenp/tutorials/tree/master/spring-drools
Both have the rules files in the src/main/resources directory.


How to use the library without window?.rootViewController ?

I would use it in one view that is not the mainScreen(in my case one third viewController). Is it possible? I have been tried but I couldn't find out how to do that. The menu just pop up if I use....
 window?.rootViewController = drawerViewController

Yes this can be done although it is quite complex.
First begin by creating a protocol in which you can delegate all the methods which normally reside on the AppDelegate

protocol ExternalDrawerDelegate {
    // Methods that must be delegated
    var centerViewController: UIViewController { get set }
    func rightViewController() -> UIViewController
    func leftViewController() -> UIViewController
    func toggleLeftDrawer(sender:AnyObject, animated:Bool)
    func toggleRightDrawer(sender:AnyObject, animated:Bool)

    // App Specific Delegation
    func drawerSettingsViewController() -> UIViewController
    func sourcePageViewController() -> UIViewController
}

The view controller which the KGFloatingDrawer would be attached to would look something like this
class ViewController: UIViewController, ExternalDrawerDelegate {

    let kKGDrawersStoryboardName = "Drawers"

    let kKGDrawerSettingsViewControllerStoryboardId = "KGDrawerSettingsViewControllerStoryboardId"
    let kKGDrawerWebViewViewControllerStoryboardId = "KGDrawerWebViewControllerStoryboardId"
    let kKGLeftDrawerStoryboardId = "KGLeftDrawerViewControllerStoryboardId"
    let kKGRightDrawerStoryboardId = "KGRightDrawerViewControllerStoryboardId"

    private var _drawerViewController: KGDrawerViewController?
    var drawerViewController: KGDrawerViewController {
        get {
            if let viewController = _drawerViewController {
                return viewController
            }
            return prepareDrawerViewController()
        }
    }

    func prepareDrawerViewController() -> KGDrawerViewController {
        let drawerViewController = KGDrawerViewController()

        drawerViewController.centerViewController = drawerSettingsViewController()
        drawerViewController.leftViewController = leftViewController()
        drawerViewController.rightViewController = rightViewController()
        drawerViewController.backgroundImage = UIImage(named: "sky3")

        _drawerViewController = drawerViewController

        return drawerViewController
    }

    private func drawerStoryboard() -> UIStoryboard {
        let storyboard = UIStoryboard(name: kKGDrawersStoryboardName, bundle: nil)
        return storyboard
    }

    private func viewControllerForStoryboardId(storyboardId: String) -> UIViewController {
        let viewController: UIViewController = drawerStoryboard().instantiateViewControllerWithIdentifier(storyboardId)
        return viewController
    }

    func drawerSettingsViewController() -> UIViewController {
        let viewController = viewControllerForStoryboardId(kKGDrawerSettingsViewControllerStoryboardId) as! UINavigationController
        let settings = viewController.topViewController as! KGDrawerSettingsTableViewController
        settings.extDelegate = self
        return viewController
    }

    func sourcePageViewController() -> UIViewController {
        let viewController = viewControllerForStoryboardId(kKGDrawerWebViewViewControllerStoryboardId) as! UINavigationController
        let sourcePage = viewController.topViewController as! KGDrawerWebViewViewController
        sourcePage.extDelegate = self
        return viewController
    }

    func leftViewController() -> UIViewController {
        let viewController: LeftDrawerTableViewController = viewControllerForStoryboardId(kKGLeftDrawerStoryboardId) as! LeftDrawerTableViewController
        viewController.extDelegate = self;
        return viewController
    }

    func rightViewController() -> UIViewController {
        let viewController = viewControllerForStoryboardId(kKGRightDrawerStoryboardId)
        return viewController
    }

    func toggleLeftDrawer(sender:AnyObject, animated:Bool) {
        _drawerViewController?.toggleDrawer(.Left, animated: true, complete: { (finished) -> Void in
            // do nothing
        })
    }

    func toggleRightDrawer(sender:AnyObject, animated:Bool) {
        _drawerViewController?.toggleDrawer(.Right, animated: true, complete: { (finished) -> Void in
            // do nothing
        })
    }

    private var _centerViewController: UIViewController?
    var centerViewController: UIViewController {
        get {
            if let viewController = _centerViewController {
                return viewController
            }
            return drawerSettingsViewController()
        }
        set {
            if let drawerViewController = _drawerViewController {
                drawerViewController.closeDrawer(drawerViewController.currentlyOpenedSide, animated: true) { finished in }
                if drawerViewController.centerViewController != newValue {
                    drawerViewController.centerViewController = newValue
                }
            }
            _centerViewController = newValue
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        self.view.addSubview(self.drawerViewController.view)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

notice the delegation set in the various view controllers that would be presented as content, and also the left and right view controllers. If the left view controller was a table view it may look something like this
class LeftDrawerTableViewController: UITableViewController {

    var extDelegate: ExternalDrawerDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: <TableViewDataSource>

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if indexPath.row == 2 {
            extDelegate?.centerViewController = (extDelegate?.sourcePageViewController())!
        } else if indexPath.row == 3 {
            extDelegate?.centerViewController = (extDelegate?.drawerSettingsViewController())!
        }
    }

    override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        cell.backgroundColor = UIColor.clearColor()
    }

}

And the content view controller (which is a web view controller inside a navigation view controller on the storyboard) would look something like this.
class KGDrawerWebViewViewController: UIViewController {

    @IBOutlet weak var webView: UIWebView!

    var extDelegate : ExternalDrawerDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        let url: NSURL = NSURL(string: "https://github.com/KyleGoddard/KGFloatingDrawer")!
        let request = NSURLRequest(URL: url)

        webView.loadRequest(request)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

    @IBAction func toggleLeftDrawer(sender: AnyObject) {
        extDelegate?.toggleLeftDrawer(sender, animated: false)
    }

    @IBAction func toggleRightDrawer(sender: AnyObject) {
        extDelegate?.toggleRightDrawer(sender, animated: true)
    }
}

Hope you find this helpful.

Lovely KyleGoddard ! Thanks a lot

This is very helpful. Thanks!


chore: qualify uses of ext and ext_iff lemmas

These will become protected in lean v4.11; it is easier to land these preparations in advance.

thanks
bors merge

bors merge
bors d+


NULL macro fails on some platforms (Ubuntu)

I'm glad to announce that there is advanced progress in the work for GRASS GIS to return to the community (this) version of ctypesgen (see https://github.com/OSGeo/grass/pull/1651). Some issues are for the time being fixed with patches, which will in due time be reported/addressed here.
However, there remain one issue that at the moment can only be worked around by altering the C code, which would be a regression of ctypesgen functionality.
Defining a macro to NULL value fails on some platforms. #define RASTER3D_DEFAULT_WINDOW NULL generates as expected:
NULL = None# <built-in>

try:
    RASTER3D_DEFAULT_WINDOW = NULL
except:
    pass

on Mac with both Clang and GCC. It fails on Ubuntu 18.04:
INFO: Status: Preprocessing /tmp/tmp4r3igeyw.h
INFO: Status: gcc -E -U __GNUC__ -dD "-Dinline=" "-D__inline__=" "-D__extension__=" "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1" "/tmp/tmp4r3igeyw.h"
INFO: Status: Parsing /tmp/tmp4r3igeyw.h
ERROR: /usr/include/x86_64-linux-gnu/sys/cdefs.h:240: Syntax error at '\n'
INFO: Status: Processing description list.
ERROR: Undef "NULL" depends on an unknown identifier "NULL". Undef "NULL" will not be output
INFO: Status: Writing to temp.py.

The following test case may be used:
class NULLTest(unittest.TestCase):
    "Test correct parsing and generation of NULL"

    def setUp(self):
        """NOTE this is called once for each test* method
        (it is not called once per class).
        FIXME This is slightly inefficient as it is called *way* more times than it needs to be.
        """
        header_str = "#define A_NULL_MACRO NULL"
        self.module, _ = ctypesgentest.test(header_str)  # , all_headers=True)

    def tearDown(self):
        del self.module
        ctypesgentest.cleanup()

    def test_null_type(self):
        """Test if NULL is correctly parsed"""
        self.assertEqual(self.module.A_NULL_MACRO, None)

I think my project code sees this too... JC (Fwiffo) has complained to me about this also IIRC. I'll look at it this weekend.

OK. I started looking at this, but it seems OK at the moment...
Here's my testing environment:
$ /usr/bin/lsb_release
LSB Version:    core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic

I will see if there are any upgrades I can apply. The report I saw from my CI/CD friend was a couple of years ago (but this should still be applicable...)
$ gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

I forgot to say that I added your test case to the test cases.  Results are below:
Testing started at 6:51 PM ...
Launching pytest with arguments testsuite.py::NULLTest --no-header --no-summary -q in /home/alanr/monitor/ctypesgen-davidjamesca/ctypesgen/ctypesgen/test

============================= test session starts ==============================
collecting ... collected 1 item

testsuite.py::NULLTest::test_null_type

======================== 1 passed, 3 warnings in 0.55s =========================

Process finished with exit code 0
PASSED                            [100%]INFO: Status: Preprocessing /tmp/tmp4n1sk2q_.h
INFO: Status: gcc -E -U __GNUC__ -dD "-Dinline=" "-D__inline__=" "-D__extension__=" "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1" "/tmp/tmp4n1sk2q_.h"
INFO: Status: Parsing /tmp/tmp4n1sk2q_.h
INFO: Status: Processing description list.
INFO: Status: Writing to temp.py.

Status on failing machine:
gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ldd --version ldd
ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Attaching failing part of compile log:
grass.log
In short, it fails on:
...
ERROR: /usr/include/x86_64-linux-gnu/sys/cdefs.h:245: Syntax error at '\n'
INFO: Status: Processing description list.
ERROR: /usr/include/x86_64-linux-gnu/sys/cdefs.h:245: Syntax error at '\n'
ERROR: /usr/include/gdal/cpl_port.h:351: Syntax error at '\n'
ERROR: /usr/include/gdal/cpl_port.h:353: Syntax error at '\n'
ERROR: Undef "NULL" depends on an unknown identifier "NULL". Undef "NULL" will not be output
...

where sys/cdefs.h:245:
 238 /* At some point during the gcc 3.1 development the `used' attribute
 239    for functions was introduced.  We don't want to use it unconditionally
 240    (although this would be possible) since it generates warnings.  */
 241 #if __GNUC_PREREQ (3,1)
 242 # define __attribute_used__ __attribute__ ((__used__))
 243 # define __attribute_noinline__ __attribute__ ((__noinline__))
 244 #else
 245 # define __attribute_used__ __attribute__ ((__unused__))
 246 # define __attribute_noinline__ /* Ignore */
 247 #endif


Provide a mechanism for handling duplicate navigation

What problem does this feature solve?
A mechanism is needed for handling duplicate navigation.
This has been requested in https://github.com/vuejs/vue-router/issues/974.
The following comment https://github.com/vuejs/vue-router/issues/974#issuecomment-497832619 has received 57 upvotes:

Vue Router should respect the "default" behavior of any "normal" link.
On a simple HTML page, when clicking on the link of the page we already are on, the page reload. And I think Vue Router should not alter this default behavior, because it's what most user using the web is expecting.

What does the proposed API look like?
Another comment https://github.com/vuejs/vue-router/issues/974#issuecomment-541127408 that has received 33 upvotes, suggests providing a new configuration option duplicateNavigationPolicy that provides reload, reject and ignore policies for handling duplicate navigation. The proposed API looks as follows:
const router = new Router({
    duplicateNavigationPolicy: 'reload' // or 'ignore', 'reject', or maybe a callable
})

Please don't open duplicates


Low-efftime fibers in petal 1 around 20230415

For ~1/3 of the exposures on 20230415, there are many low-EFFTIME fibers at the lower corner of petal 1, e.g.:

The pattern resembles CANBus groups. Nights 20230416 and 20230414 (and possibly even earlier nights) also appear to have lower EFFTIME for these fibers, although much fewer exposures/fibers are flagged as low-EFFTIME.
The following tiles from 20230415 and 20230416 are marked "unsure" because of this issue:
2702 (20230415)
3659 (20230415)
3660 (20230415)
3665 (20230415)
4367 (20230415)
5824 (20230415)
7517 (20230415)
9884 (20230415)
10639 (20230415)
3698 (20230416)
4333 (20230416)
10597 (20230416)

Let's mark these as good, unless @araichoor sees this differently.  These tiles all have EFFTIME_SPEC / EFFTIME_ETC very close to 0.85---i.e., they're at the limit of what we would call done.  This particular region always has slightly lower EFFTIME than its neighbors, presumably due to slightly higher read noise / slightly larger LSF, or something---I don't actually know, but those are the kinds of things that go into EFFTIME.  This doesn't look like a positioning issue---we don't see positioning problems in the turbulence plot.  So it's just that this area is always a little shallower, and on tiles near EFFTIME_SPEC / EFFTIME_ETC ~ 0.85 they don't quite make the cut.
There's the larger issue of why we are having more tiles close to EFFTIME_SPEC / EFFTIME_ETC ~ 0.85 that we still need to resolve, but we're accepting tiles in the meantime.

yes, I confirm that s kind of expected, as this region as -- for whatever reason -- lower snr; so green light on my side :)
(note: those low-efftime targets will be put back for re-observation)
to illustrate that: this plot shows all 1.9M fibers of the 2023 maindark tiles (tiles selected with efftime>goaltime * mintfrac).

(I select fibers from the tile-qa*fits file with qafiberstatus = 0 or 2 ** 15)
=>
this region clearly stands out.
btw, the north edge of petal=5 also has lower snr: but I guess we don t see it in the qa plots because it s just under the colorbar ticklabel :(
and also some fibers on the edge of petal=9.

IIRC, these patterns map to specific fiber blocks and in the past the variations were due to the varying read noise. Does this area map to the worst area in the CTE and, if yes, I imagine it makes sense that the pipeline would know that we have more noise there? (This could all be a pipeline behaving quite well, despite some instrument issues...Tomorrow I will try to see if the LRG success is actually pretty consistent with the estimated TSNR2 for the recent data.)

(Though I would be perfectly happy for @rongpu to beat me to it.)

I don't think the pipeline tries to model the effect of CTE in terms of additional Gaussian random noise.  This would be about some amps having somewhat higher "normal" read noise, not including additional effects from CTE.

I think @julienguy would know best; they get variable noise from somewhere (clearly) and it seems dynamic to me (though I'm not sure that it is). (Even if it were, it clearly wouldn't be perfect, since these issue are clearly not just additional Gaussian random noise. But, if it were dynamic, it would be interesting to see how close it comes to TSNR2 based expectations.)

The 12 tiles originally marked as "unsure" are now marked "good".


self.ipv4_addresses is empty list of list of string

hi,
the ipv4_addresses list seems to be empty....
issue in the line 84 of modules/domain/main.tf line 84
│ Error: Error in function call
│
│   on modules/domain/main.tf line 84, in resource "proxmox_virtual_environment_vm" "node":
│   84:       ADDRESS = element([for addresses in self.ipv4_addresses : addresses[0] if addresses[0] != "<IP_ADDRESS>"], 0)
│     ├────────────────
│     │ while calling element(list, index)
│     │ self.ipv4_addresses is empty list of list of string
│
│ Call to function "element" failed: cannot use element function with an empty list.

Regards,

Hi! Apologies for the late response, I've moved recently for my higher studies and completely missed this.
It's a bit strange that this happens because this should pick the local ip as long as you're in the same network as the proxmox node. Can you share your tfstate file after running terraform apply?
Unfortunately I'm unable to reproduce this issue as of now as I do not have my proxmox server anymore. However, I'll be happy to review and merge code changes.

There is a different version using talos that I had switched to. Let me know if it works better for you.
https://github.com/Naman1997/simple-talos-cluster

I was finally able to spend some time today on this. I created a virtualized proxmox env to test this. The issue is that if the virtual machine takes too long to boot, then the qemu agent can timeout. Since the guest agent is responsible for letting proxmox know the ip address, this becomes a problem and we have the stacktrace @anibal-aguila mentioned above.
Thanks for reporting this!


Drop UMD and make ESM the default entrypoint

Drops the UMD (Universal Module Definition) distribution and makes ESM (ECMAScript modules) distribution the default. Also changes the default type of the package to module so that all code in the repository is evaluated as ESM by Node.js.
Since ESM is now the default all files with the .mjs extension have been renamed to .js. Some configuration files such as those for Karma and ESLint do not yet support ESM fully, so these have been renamed to .cjs to remain functional.

Hmmm, yeah. Looks like I'll have to port those over first. I wanted to clean up that code anyways so I will open up some PRs to do so.

Converting this to a draft until I have all the aforementioned issues resolved.


add commutator

Could we add the commutator and anticommutator just as in the latex physics package?

Maybe literal [] {} are enough?
$ [tilde(A), {tilde(B), tilde(C)}] + [f(x), {x, y}]. $

Hi I considered that but concluded [] and {} are enough. Typst is able to automatically adjust the height of the delimiters based on the content within, but LaTeX can't do that (i.e. you have to manually add \left, \right) and I guess that's why the physics package for LaTeX has them.

I didn't know this, thanks a lot :)


Tokenizer cleanup

Added in a bunch more comments, and reframed how operations functions in more standard comp sci. terms (e.g. a stack), and moved out bitwise code to named functions that should hopefully give a bit better idea of what it's doing.

OK. I think that's done. I'd love if someone could review and try to parse the thing, to let me know if that's a bit more readable; @franko, or @liquidev .

Just waiting if @liquidev want to comment before merging.

Hang on, there is a bug in here. Can't open some files. I'll get back to you on why, but don't merge this yet.

Looks way more readable to me. Feel free to merge this when it's fixed.

# me
git fetch adamharrison
git checkout TokenizerCleanup
# hey, it works!
# done
git checkout master


Handle timeouts

I took the approach of creating a handler in the command() function, it will handle the socket.timeout exception when the stack unrolls (if it happens). As far as behaviour on our side, a socket timeout is not a HTTP 408 error because it is not dictated by the server connected to. As such, I have chosen to just terminate the program after printing "Your request timed out."


Async clientsession / fix stuff on aiohttp and camera platform

Description:

Add a aioHttp ClientSession to hass
Migrate exists stuff to use this ClientSession
Migrate camera to async
Complete rewrite camera/synology to async and better code style

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

🐬


Subscriber missing published messages from cluster

Environment

VerneMQ Version: 1.5
OS: ubuntu
Erlang/OTP version (if building from source):

Expected behavior
Subscribers should be able to receive the messages for the topic under heavy load.
Actual behaviour
While running in production env and there is a lot of heavy load, sometimes the subscribers aren't getting the messages published. I do see the broker published it but nothing received by the subscriber. Unfortunately, I'm unable to reproduce locally or even on dev.
I have 2 different mqtt clients one using paho-mqtt python and the other paho-mqtt golang and both of them didnt get the message at the time.
Production isn't even getting a lot of messages too (< 10k each). and there are already 4 nodes in the cluster. Is there some configuration I'm missing?

Hi there,
Could it be that VerneMQ is doing load shedding and therefore actively drops messages. More details about it here https://docs.vernemq.com/configuring-vernemq/options#load-shedding
You'd notice it in the logs as well as the metric queue_message_drop
I hope this helps!
Enjoy your weekend.

You subscribe with QoS 0 which explicitly means "I don't care wether or not I receive all messages". QoS 0 messages are not queued by default so if the broker drops it then it probably won't count against queue_message_drop since they were never in the queue. I thought there was a setting to instruct it to queue up QoS 0 messages as well but I can't find it right now.

You subscribe with QoS 0 which explicitly means "I don't care whether or not I receive all messages". QoS 0 messages are not queued by default so if the broker drops it then it probably won't count against queue_message_drop since they were never in the queue. I thought there was a setting to instruct it to queue up QoS 0 messages as well but I can't find it right now.
Ultimately if you care about message delivery you should use at least QoS 1

yea but if its a stable connection qos =0 shouldnt be a problem. I have set the client to qos = 2 for now. I still saw that sometimes subscribers weren't getting the message so I incremented the max inflight messages to 50.
thanks!

Also are you seeing any errors in the logs?

No errors in the log and all brokers in the cluster looks like its busy doing stuff based on the logs. I did see some keepalive expired which might be because of the new mqtt specs but no other errors.
thanks =)

If you're overloading the subscribers then the stability of your connection doesn't matter - if they can't keep up then messages will be dropped. You said heavy load - not sure what means in your case but with the default vernemq config a single subscriber tops out at about 2000 messages/sec on our hardware (Samsung EVO 850 SSD, quad core i7, 16GB RAM)
Keepalive expired might indicate a problem because I think that will kill the session and the client may have to reconnect - have you logged any re-connect events in the clients?

thanks! its weird cause i did a client trace at the time and its still connected cause i see the pings. But at that time, it didnt receive the message. I havent seen it consistently so its hard to debug. Will keep an eye on it! thanks! closing for now.


dbotconf: on Windows it produces backslashes instead of slashes

Using dbotconf on Windows results in having backslashes in directory field instead of slashes
E.g.
  - package-ecosystem: docker
    directory: \example\zipkin

instead of
  - package-ecosystem: docker
    directory: /example/zipkin

I guess the code misses filepath.ToSlash() in some place(s).

@pellared  I would like to work on this issue


yoshimi doesn't find it's own preset banks

@cillianderoiste
The version of in my PR doesn't find it's own banks.
They are installed in $out/yoshimi/banks, which is set here*.
The file: $out/share/doc/yoshimi-<IP_ADDRESS>/Banks.txt mentions:

You no longer have the concept of a default root directory, but a current one.

I'm not sure what to make of that, and also not how to fix it, but it would be nice if yoshimi could find the preset banks it comes with.
*PS: WIthout setting this, I'm getting a "no such file or directory" error.

fixed!


New Value Parser

@pjljvandelaar @tretmans can you provide more input on this issue?

Currently, we use the ValExpr parser to parse a value (fromString).
Performance wise, a dedicated parser can be faster.
Furthermore, the constraint the string represents a value can be made more explicit.
Finally, we can start experimenting with alternatives for front (the TorXakis parser), like parser combinators.

Why do you think a dedicated parser might be faster than the existing one?

Furthermore, the constraint the string represents a value can be made more explicit.

In which part of the code can we find this constraint?

Currently the string
3+4 will be accepted as a valid value (returning from the SUT)
while it is not a value!
(although it can be simplified to 7!)

The dedicate parser is more targeted and has less symbols to consider.
For example, it will not recognize +, like ValExpr parser does!

I added the performance-improvement label, even though it remains to be seen if this would deliver any performance improvements.

The real advantage is in the architecture: you don't need value expressions to parse values!

Solve in two steps

[ ] Make a generic string parser that parses values (similar as a generic XML Parser - only syntax is checked)
[ ] Translate a generic value to Value (thus check type and constructor names - does the constructor exists?)


fix: upgrade deps

This updates all dependencies to their latest version.
Specifically, this resolves an issue with a vulnerable version of<EMAIL_ADDRESS>in the current dependency tree.
$ npm ls trim
<EMAIL_ADDRESS>/workspaces/doctoc
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └──<EMAIL_ADDRESS>
More details here: https://github.com/advisories/GHSA-w5p7-h5w8-2hfq
I had to slightly tweak one test to account for a change in the markdown parser (heading not recognized when part of a previous paragraph).

Oof, sorry for the slow response here. This looks good to me, thanks.


Added function for getting the real host when request is proxied

Short description and why it's useful
Apache2 changes the host header and writes the original into the
x-forwarded-host header so we need to check bothe headers.
Which environment this relates to
Check your case. In case of any doubts please read about Release Cycle

[x] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[ ] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility and no breaking changes)
[ ] I've updated the Upgrade notes and Changelog on how to port existing VS sites with this new feature

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and currently important rules acceptance

[x] I read and followed contribution rules
[x] I read the TypeScript Action Plan and adjusted my PR according to it
[x] I read about Vue Storefront Modules and I am aware that every new feature should be a module

thanks @ResuBaka !


How to calculate bootCodeAddress?

The spcPlayer start method takes an argument for bootCodeAddress, but the main.cpp file just calls spcPlayer.start() without an argument. How is this supposed to work? Isnt the bootCodeAddress supposed to be calculated?

In the file backend/include/SpcPlayer.hpp the function takes a default argument like this
bool start(uint16_t bootCodeAddress=0xFF85);

So the bootCodeAddress is 0xFF85 by default.
Yeah this is confusing. Might be better to just make this a constant instead. I think the point for me was to support dynamically calculating the location of the bootcode, but then never used it. Hope this helps!


rbac-tool who-can create <custom_resource> fails with memory budget exceeded (1.3 GB usage)

What happened:
Running the following command within a k8s container fails:
$ rbac-tool who-can create  mysqlinstances.database.orange.com
[...]
Failed to run program - memory budget exceeded (6:24)
|        {  .Verb     in [Verb, "*"] and
| .......................^

within htop, I see 6 processes with VIRT to 1.3 GB prior to the crash
What you expected to happen:

rbac-tool taking longer to produce output but not not crash
a stack trace is displayed to helm diagnostic

How to reproduce it (as minimally and precisely as possible):

an openshift cluster with a large number of crds

Anything else we need to know?:
$ rbac-tool who-can create  mysqlinstances.database.orange.com -v 9
[...]
I0301 11:09:54.444305    1881 subject_permissions.go:72] {Kind:ServiceAccount APIGroup: Name:deployer [...]
Failed to run program - memory budget exceeded (6:24)
 |        {  .Verb     in [Verb, "*"] and
 | .......................^

Environment:

Kubernetes version (use kubectl version):
Cloud provider or configuration:
Install tools:
Others:

Workaround: use https://github.com/aquasecurity/kubectl-who-can
kubectl krew install who-can
kubectl who-can create  mysqlinstances.database.orange.com


Docker image permission issue when run in GitHub Action

What version of Hugo are you using (hugo version)?

❯ docker run ghcr.io/gohugoio/hugo:v0.136.5 version
hugo v0.136.5+extended linux/arm64 BuildDate=unknown VendorInfo=docker

Does this issue reproduce with the latest release?
Yes.
It looks like b5852d0 fixed #12946, but now, using v0.136.5, I get a new error:
Error: error building site: failed to acquire a build lock: open /github/workspace/.hugo_build.lock: permission denied

I suspect this is because the Docker image runs as hugo:hugo by default, but GitHub, for better or worse, requires that processes in Docker run as root in order to have permission to write files and whatnot.

cc: @dvdksn

You can probably just add the lock file to dockerignore and it'll work.
Can you share your workflow and Dockerfile please.

Here's my workflow, and here is the project Dockerfile.

Error: error building site: failed to acquire a build lock: open /github/workspace/.hugo_build.lock: permission denied

Possible workaround:
hugo  --noBuildLock

@bep how do you feel about letting this image run as root? There have already been quite a few issues related to permissions. Users wouldn't typically run this image in production, but as a build step, so I don't really think running as root would be a security concern.

Users wouldn't typically run this image in production

Why not?
It seems like we began this effort (many hours now) without a clear definition of intended use:

[ ] Local builds?
[ ] CI/CD container?
[ ] CI/CD build step?

I created an image several months ago as a learning/testing exercise, and use it with both GitHub Pages and GitLab Pages as demonstrated with this test site:

https://github.com/jmooring/hugo-docker-test/blob/main/.github/workflows/hugo.yaml
https://github.com/jmooring/hugo-docker-test/blob/main/.gitlab-ci.yml

It can also be used for local builds.
I'm not advocating that we use this test image, but its composition intentionally targeted the use cases above.
Other than documentation and support I don't have a stake in this. But it would be good if the target stopped moving.

I'm not advocating that we use this test image, but its composition intentionally targeted the use cases above.

I don't see any Docker file referenced, so it's hard to say anything about this particular image, but a quick glance at your CI setup, I'm guessing it's setup differently (without e.g. Node/NPM).

Users wouldn't typically run this image in production

Building a Hugo site for production is the primary use case for this, and both CI container and CI build step (assuming there's a difference) should work (assuming the platform OS/arch is supported).
Local development should work, but that sounds like a secondary use case to me.
Hugo's server is a development server, so running hugo server in production is not something we will support/encourage.

Using --noBuildLock just gets the build to the next permission issue:
Error: error copying static files: mkdir /github/workspace/public: permission denied

I created an image several months ago as a learning/testing exercise, and use it with both GitHub Pages and GitLab Pages as demonstrated with this test site:

From the Dockerfile, it looks like you never set the user, so it will run as root, which is what GitHub actions, at least, require.

Building a Hugo site for production is the primary use case for this, and both CI container and CI build step (assuming there's a difference) should work (assuming the platform OS/arch is supported).

If you mean it builds the static files and they get deployed somewhere, but the image itself isn't spun up to serve the site or do anything else for a production server, then it seems as though it doesn't matter whether it runs as root or not.

If you mean it builds the static files and they get deployed somewhere, but the image itself isn't spun up to serve the site or do anything else for a production server, then it seems as though it doesn't matter whether it runs as root or not.

This is what I meant. We only care about static output generated from the container. So the user privileges in the container are only relevant at build-time (and/or during development), which is why I think running as root is probably fine for this image.

This is what I meant. We only care about static output generated from the container. So the user privileges in the container are only relevant at build-time (and/or during development), which is why I think running as root is probably fine for this image.

I think so, too.

So the user privileges in the container are only relevant at build-time (and/or during development), which is why I think running as root is probably fine for this image.

No, the image will also be used as a dev server -- and my guess a common motivation for doing that and not installing hugo locally would be trust issues (trojan horses etc.), and having the docker command run as root would, at least mentally, remove some of that "protection".

OK, I have spent some time on this today, and my conclusions are:

This works if we remove the USER setups in the Dockerfile, e.g. run as root.
I wouldn't mind running as root in GitHub Actions.
I would not like if docker run ... server ran as root when started on my development PC.

And when I say I above, I'm also assuming a lot of other Hugo users' having the same view on things.
I don't have a practical solution for this, I'm afraid.

Well, GitHub actions don't run the ENTRYPOINT, so you can use gosu in the entry point script to create and execute as a less privileged user. Here's an example.

Hi,
I think this kind of problem can be generalized for all CI/CD systems that are based on containerized images.
I also encountered it using Woodpecker CI because in that case the git repository pull step is done with root user and therefore the Hugo image is not able to write inside the directory tree.
On my pipeline I solved it by adding between the workspace download and the hugo execution a step that changes the owner of the file inside the workspace to hugo (uid 1000).

I'd like to share an idea to create another tag for the root user image with GitHub Actions matrix and Docker build-args, which doesn't require to create another Dockerfile or GitHub workflow, then people can choose the image they want.
The keys are as follows:

Define user name in matrix on GH workflow, e.g. user: ['root', 'hugo'].
Pass the user name via Docker build-args, e.g USER=${{matrix.user}}.
Override the USER directive, declare (ARG USER=root) and assign (USER: $USER).
Finally, change the image tag based on the user name and push.


Identical dictionaries for European and Mexican Spanish

Hi,
Thank you again for sharing the CharsiuG2P results. I have one question.
I noticed that the "spa" and "spa-me" dictionaries are identical. However, in the open-dict-ipa GitHub repository, I can see that there are some differences.
Did you decide to merge the "spa" and "spa-me" dictionaries into a single one for a specific reason?
An example: In European Spanish, there should be a distinction between /s/ and /θ/, while Mexican Spanish only uses /s/.

Thank you for finding out this! Probably this is an oversight from us. I have put this on my to-do list and update the repo soon.


Many of the integration tests are outdated

TRA: models given as PySB should be given as INDRA Statements
DTDA: disease, target and drug arguments should be given as EKBs
QCA: paths need to be added to the messages

These are now all fixed


change default highway value for golf cart paths to "path"

This is to fix #48:
I went with the approach to just use highway=path (+ golf_cart=designated) because it: avoids explicitly adding an implicit access restriction and is similar to the well established tagging scheme for multi-use paths (such as foot+bike paths), as well as the corresponding golf=path preset.
This PR also activates the access field, so users can set see and set further access information.

@1ec5, @matkoniecz: what do you think about this approach?

Sadly, I am unfamiliar with cart paths so in this case I cannot offer guidance
(I learned about them via https://github.com/gravitystorm/openstreetmap-carto/issues/3734 - see especially https://github.com/gravitystorm/openstreetmap-carto/issues/3734#issuecomment-481244275 )

I feel your pain on that one!

However, I think the mailing list and wiki discussions garnered sufficient support for the idea of some highway value other than service.

The commit  https://github.com/openstreetmap/iD/commit/df7a2f978e7cabc3d4e99387b62251a2746033c5 that closed https://github.com/openstreetmap/iD/issues/6165 contained:

a preset for a cartpath combined with a highway=path and
a preset for a cartpath combined with a highway=service

So mappers always did have this choice of which one to use.

This PR would modify the latter to use highway=path, but there’s still a semantic distinction between the two presets, so the suggestion was to also preserve that distinction in the primary feature tags, not just in the access tags.

This PR would modify the latter to use highway=path, but there’s still a semantic distinction between the two presets, so the suggestion was to also preserve that distinction in the primary feature tags, not just in the access tags.

https://github.com/openstreetmap/iD/pull/5862#issuecomment-460917301 indicates that the purpose of these was for multiuse situations, like where the golf carts are expected to be driving through a parking lot or service area:

For situations where both situations apply: example: a retirement community built around a golf course where the course's cart paths serve the purpose for the game as well as transportation routes for the residents, then the most appropriate tagging will be highway path/track with the golf:cartpath tag added.

(they originally were proposing highway=track and I steered them towards highway=service)

Ok I'm doing way more digging into this history of this than I'd like to, but the reason for this is because I know we had this correct back in https://github.com/openstreetmap/iD/commit/e045c0f1781a59362b422563ac844990247ff419
and it got messed up somewhere along the way, I guess here: https://github.com/openstreetmap/iD/commit/df7a2f978e7cabc3d4e99387b62251a2746033c5
The intent of these presets was:

a path-like preset with golf=path named "Golf Walking Path"
(for where carts are not driving.  highway=path was added later, to appease carto)
a path-like preset with golf=cartpath named "Golf Cartpath"
(highway=path was added later, to appease carto)
a service-llike preset with golf=cartpath and highway=service named "Golf Cart Multipurpose"
(later "Golf Cartpath / Service Road", name has gone through several iterations for clarity but service should not be dropped - it is literally for where carts drive on service roads)

I remember having a lot of discussion with Chad about what he wanted these for.   I even drew an icon for it.

a service-llike preset with golf=cartpath and highway=service named "Golf Cart Multipurpose"
(later "Golf Cartpath / Service Road", name has gone through several iterations for clarity but service should not be dropped - it is literally for where carts drive on service roads)

Oof, so this preset basically got conflated with the normal “Golf Cartpath” preset. That would explain all the problematic highway=service usage out there. Thanks for digging up this history.
The case where golf carts can drive on actual service roads sounds like a good fit for the Access field rather than a separate preset. Since the last time these presets were modified, golf_cart was approved as an access key for any kind of road or path. A new Golf Carts row in the Access field would also give golf mappers an obvious alternative to turning residential roads into golf cart paths or drawing golf cart paths right on top of them, as they so often do today around golf clubs. 😩 Maybe the extra could be limited to just the Residential Road and Service Road presets, since golf carts are unlikely to be street-legal for higher-classed roads anyways.
As long as we restore the golf cart path/service road combination in the form of an expanded Access field, it should be safe to revert the plain “Golf Cart Path” preset to highway=path, right? That would leave at least as many distinctions as you had in the presets at one point.

Ok, I didn't know that these were three presets originally. I have solved the issue of not being able to easily map "multipurpose" service+cartpaths by adding a field for the highway tag for golf cartpaths where one can choose between a "cartpath" (the default) and "service road". This has the side benefit that manually entered highway values (e.g. `residential) will also be recognized.


Improve the template

Add more and better examples.
Change some settings for better usability.

According to this old issue https://github.com/nuxt-community/vuetify-module/issues/165 v-spacer should only be used in the grid system ().  Should we use <div class="flex-grow-1"></div instead?

Also, could you please add seo meta for these pages?

I removed the v-spacer and added a simple div with flex-grow-1.
I also added SEO Meta for the home and login page.
Since I am not a professional at SEO I tried my best to use it as it makes sense to me. I don't think you would add SEO meta to the admin page since you don't want this page to be indexed by the search machine.


Server Side Verification (SSV) - Information

Thank you for the package, @bdlukaa!
Is there any chance to add  userId as a parameter in the load function  in order to enable SSV?
This would be needed for both rewadedAd and rewardedInterstitialAd

Useful links:

https://developers.google.com/admob/android/ssv
https://developers.google.com/admob/ios/ssv

This would be a good pr.

@bdlukaa, I created a PR for this.
Please check this: #78


Updated user datatable to use the new common version

This new datatable uses checkboxes to select different rows and delete/disable them easily

Already included in newer PR


require-author needs to be set

Using Isso pretty much out of the box throws an exception that complains about this:
configparser.NoOptionError: No option 'require-author' in section: 'guard'
When the option is added, at the time of starting Isso I get this other warning:
WARNING: no such option: [guard] require-author
But it seems to work fine.
The documentation says:
data-isso-require-author
Set to true when spam guard is configured with require-author = true.
So, afaik, that warning is misleading and defaults should include require-author. Tell me if I am wrong.
I'm using version 0.10.5 provided at the Arch AUR.

This must have been an issue with Isso 0.10.5, the provided default conf (from which default values are read if not overwritten by values from your own config) did not contain the require-author key and thus no default was written:
https://github.com/posativ/isso/blob/0.10.5/share/isso.conf
This issue has since been fixed.


Windows: enable the profiling library on Windows

The official builds include the profiling library, so we should enable
it on the CI to ensure that the path is tested.  This should only add
~1m to the total build time.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test

CC: @drodriguez
This is the change that I really am trying to get sorted out for the CI aspect.  Do you have ideas on how to sort this out to enable it on the CI as well @drodriguez?  Or perhaps it isn't worth it?

@swift-ci please test Windows platform


i18n(zh-cn): Add error-reference.mdx and 4 error page translations

What kind of changes does this PR include?

Translated content

Description
Added zh-cn error-reference.mdx translation and added:

no-matching-static-path-found.mdx
static-client-address-not-available.mdx
static-redirect-not-available.mdx
only-response-can-be-returned.mdx

@XindiShang Thank you for the translation! Firstly, the documentation directory structure has been refactored， you can pull the latest code for the main branch and update it.
Secondly, the English page adds a little UnknowError like https://github.com/withastro/docs/blob/main/src/content/docs/en/reference/error-reference.mdx?plain=1#L20.
You can find in https://github.com/withastro/docs/commit/efada0f8314479a4aef12184e7c2a8e683d431f9


issue with computercraft and ender IO 1.7.10

There problem with the capacitor bank not connecting to wired modem, right click modem doesn't turn red and tells you the code to put in the computer coding.

The new issue template is there for a reason - but yet you used deleted the template and did not provide any of the information required.

how was i supposed to know that it was template, next time please say that it's template for bugs and issues in the notes. i was so confuse, but can i make same report with the template this time or no

how could this very simple template be confusing, just read at least a few lines of it

when your new to seeing this new template for the first time, they used to have no template before, i thought it was telling me the rules in reporting bugs so i deleted it and report my issue, but i was supposed to report it in the template, but Matt you said used deleted the template, please say nicely way next time when people are new and don't know it's template, best way say (The new template is there for a reason so we can help fix the problem of Ender IO) when people report without template please say that, but we will fix the problem, report the issue in our template next time, when say something like that gives people to use the template for the issue, but when you say to me (but yet you used deleted the template and did not provide any of the information required) it starts getting people in confused stage, next time say nicer way, i did not know about the template, now i do and the next time i report issue to report it in the template.


Test 122.88MSPS on AD9361.

https://www.nuand.com/2023-02-release-122-88mhz-bandwidth/
https://destevez.net/2023/02/running-the-ad9361-at-122-88-msps/
It would probably be better to operate in 1T1R to use the same data clk rate than in 61.44MSPS / 2T2R.

Initial support is in place and seems to be working when in PCie Gen2 X4. More tests will be done in the future to compare it to 61.44MSPS and lower specified supported ranges.


Wallet returns error: "not enough money" after 3 successful txs, when making several txs in immediate succession

Just checking...

[X] This is a cardano-wallet bug.
[X] I am using the latest cardano-wallet release.
[X] I am using the correct cardano-node version for that release of cardano-wallet.

Version
2021.4.8 (git revision: b0701a9c1a59d766e9f611160235a196b016b336)
Platform
WSL Linux-Ubuntu 20.04
Installation method
Binary from GitHub release page
Network configuration
Testnet
Context
No response
Description
Steps to Reproduce

Send multiple successive txs to http://localhost:8090/v2/wallets/{walletId}/transactions via python script
payload has withdrawal: "self"
The 4th tx will return "not enough money" error
...

Expected behavior
Execute all txs

Actual behavior
4th tx returns error, rest aren't executed

The error "not enough money" indicates that there is not enough available balance on the wallet to create a transaction.
When you submit a transaction, it is first in "pending" status until it is accepted by the node. While tx is in "pending" status all the utxos that are used in this transaction are blocked such that they cannot be used in another transaction at the same time (this is to prevent double spending and is expected). Hence you created 3 transactions one after another and you get error on the 4th, there is a good chance that your previous transactions are simply still in "pending" status and, therefore, blocking the Utxo of the wallet.
(The status of tx can be monitored via https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/getTransaction)
I believe you need to wait until your previous transactions status is "in_ledger" before creating the next one.

Understood! Thanks for the help. I guess I should just create more Utxos to avoid this problem.


Jared/hooktesting

Description
Apologies in advance this is a big PR and I didn't see anyway around it without making verbose and redundant mini PR's. Push through the pain and get it all done in one blow.
run code formatter on all samples to avoid githooks constantly making little changes to peoples PR's which causes confusion. Also updated the templates so that the follow the new formatting so that the commit hooks work on the sample source and header files.
Type of change

[x] Bug fix?(git hooks were not working so i guess this applies)
[ ] New sample implementation
[ ] Sample viewer enhancement
[x] Other enhancement

Platforms tested on:

[ ] Windows
[ ] Android
[ ] Linux
[x] macOS
[ ] iOS

Checklist

[ ] Runs and compiles on all active platforms as a standalone sample
[ ] Runs and compiles in the sample viewer(s)
[ ] Branch is up to date with the latest main/v.next
[ ] All merge conflicts have been resolved
[ ] Self-review of changes
[ ] There are no warnings related to changes
[ ] No unrelated changes have been made to any other code or project files
[ ] Code is commented with correct formatting (CTRL+i)
[ ] All variable and method names are camel case
[ ] There is no leftover commented code
[ ] Screenshots are correct size and display in description tab (500px by 500px, platform agnostic)
[ ] If adding a new sample, it is added to the sample viewer
[ ] Cherry-picked to Main branch (if applicable)

Forgot to have the githook run on all the main.cpp files for each individual sample. That's currently IP locally for me.

Given the size of this PR, I recommend waiting until we finalize v.next for the 200.5.0 release. Our next samples build will likely be the last one for 200.5.


Feature request: silent run

Passing a -s, --silent option that launches jobs directly instead of showing the menu.
If -s and -r are True at the same time it would reset jobs.

added job_option argument for run_wizard for this feature! Hope you like it.


[WIP] Initial commit of tools for qec

Summary
A module has been added to 'verification' to create and decode repetition codes. The 'GraphDecoder' defined in this module will be extended to surface codes, color codes and other 2D topological codes. The module has therefore been name 'topological codes'
The purpose of codes in this module is not to actually perform useful error correction, but to provide tests that are based on error correction.
Details and comments
Some more comments and some tests should probably be added before this is merged, so it has been marked WIP.
Merging of this closes #210

 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.

I think you pushed some extraneous files

Can you put an example notebook in examples/xxx.ipynb for the PR. At the end we'll remove it and push it to tutorials.

Thanks. I'll add the notebook, remove the mystery files and do some other sorting out on Monday.

I have done some linting and added a tutorial and a test. Travis is not happy for reasons I don't understand. If anyone knows what that error is, let me know.

The commenting looks a little different than the qiskit standard, see, e.g. https://github.com/Qiskit/qiskit-terra/blob/3bf6a0e5acae280910be0d7c5b24618a26461e1e/qiskit/result/result.py#L56

Based on the notebook it looks like circuits could use a .get_list() function which returns [ code.circuit[log] for log in ['0','1'] ]

Thanks Dave. I'll fix all.

error correction probably merits its own folder separate from verification?

Looks like the build error seemed to start when I merged master, which is odd. Not sure what steps to take to fix it, but I'll look into it next week.


Error message on level 5

Every time I try to use a tool on level 5, I get a Geogebra Error "Invalid input: Undefined variable pointRight". Recreated on both IE and Chrome; refreshing does not fix. Level is still beatable, though.

I get the same error on level 5 when I start with a circle with center point B and radius BA.

I get the same error too.
Screenshot:

The bug is still here for chrome 54.0.2840.99 m


Record comet phases for great winter hunt 2017

As the name explains this adds support for the comet phases for great winter hunt 2017

thanks, but i already did this. just fixing a few other things before i release


IPv6 support?

The README indicates that IPv6 is supported, however I'm always getting NoRouteToHostException. I tried with the client/get example in the README and tried with multiple IPv6 hosts (including the one in the README). I should note that using curl on the same hosts works without any problem.

Hi @martinraison, can you post how you are trying to issue the request? And do you have a full stacktrace for the exception you're getting?

Thanks for your reply. Actually it looks like it is more an issue with my Java setup, since merely trying to instantiate a java.net.Socket with an IPv6 host was failing.


Let users clear the first organisation filter with an “X” button

We currently hide the “X” remove organisation button if there is only
one organisation filter. However, users cannot clear this selection, so
we should add this functionality back.
This change unhides the “X” button if there is only one organisation,
and fixes a bug that means clearing the input opens the options
without being able to dismiss them.

 Organisations can't be de-selected


Update OpenSeadragon and add Annotorious

This PR

updates OSD to 4.1 (introduced some major/breaking changes)
adds Annotorious for creating and handling annotations. This simplifies a lot of things for us!

The backend for annotation handling should be alright, we might still need some design adjustments to the WSI viewer toolbar, etc. The changes to the toolbar by @UteSpiske should also fix #38 (no limit on zooming with buttons)

We have not added the new annotation functionality to the form for creating tasks! Will convert this PR to draft until this has been done.
Will also update/fix the click question to work with the new annotation functionality.

Tasks can now be annotated and the click question is working again


SEOImprovements: User Story 1549065, Part 4

@damabe : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ajlam  These are the articles (where you're listed as author) that I've updated for the SEO title metadata improvement story (https://dev.azure.com/mseng/TechnicalContent/_workitems/edit/1549065). They are ready for your review. Please let me know of any changes you'd like me to make. Also, we can add titleSuffix metadata is there is appropriate data. Please let me know if there is anything I should add there.
Also: @carmonmills @KarlErickson @kasangi

Looks good to me.

Closing this PR and replacing with this one in the private repo: https://github.com/MicrosoftDocs/azure-docs-pr/pull/82985.


[stable/owncloud] fix upgrading existing deployments

What this PR does / why we need it:
In https://github.com/helm/charts/pull/17304 the apiVersion of the deployment resource was
updated to apps/v1 in tune with the api's deprecated in k8s 1.16. This change however breaks
upgradability of existing owncloud deployments with helm v3 (rc) as described in
https://github.com/helm/helm/issues/6646.
To fix this, we have defined a owncloud.deployment.apiVersion helper that returns the new
apiVersion only when k8s 1.16 or higher is in use.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

On hold until https://github.com/helm/charts/pull/18704 is merged, after which dependencies will be updated in this PR.
/hold


Failed to run CLI go tests

What version are you using?
Current main commit: https://github.com/stellar/soroban-tools/tree/5398c062a1aebea19595071360c0d99dc72ebe85

What did you do?
cargo b && make build-test-wasms && make build-preflight

using the same commit of stellar-core as CI: f2d06fbce
Then ran CLI go test

What did you expect to see?
No error
What did you see instead?
All fail because of the following error embedded in the diagnostic events:
 StringM(contract pre-release number for current protocol does not match host), U32( 69), U32(1)

Looking at the sdk it would be 1 for preview 21 if the next feature was on for the rs-soroban-env, however, from what I can tell it isn't.

From the latest commit, I was able to run all tests successfully using go test ./... and cargo test. Are you still able to reproduce this issue?

I haven't tested since the core version was updated. Will try again with it soon.


Support ESLint Flat Config

closes https://github.com/nuxt-modules/eslint/issues/115

replace vite-plugin-eslint with vite-plugin-eslint2, which supports flat config, active and maintained by me
Just set eslintPath: 'eslint/use-at-your-own-risk' and eslint.config.js, and flat config should be done

While it would be possible to auto-detect to determine the ESLint version and whether to enable flat config by default, I think this would add unnecessary complexity. I will add this function to the PR if you think it's worth it. Thank you.

For someone who comes here later, try https://eslint.nuxt.com/ instead.


Logging configuration overrides project's settings.py

Inside settings.py, lines 42-43:
LOG_CONFIGURATOR = logging.config.DictConfigurator(LOGGING)
LOG_CONFIGURATOR.configure()

These lines override the logging confoguration inside my project's settings.py.
To overcome this, I had to use those same 2 lines in my AppConfig.ready method, and restore my settings (by overriding dbbackup's logging config).

See pr #332


As a provider I want to edit published occurences

PT-1200 PT-1227.
Description from the ticket:

If there is no registrations for occurence it should be possible to edit or delete it
If there is registrations for occurence, it should not be possible to edit it.
It should be possible to add more occurences for event.

When the editing of a published event is made possible, it would affect to the following:

When editing the first occurrence, it affects to the starting time of the event
When editing the last occurrence, it affects to the ending time of the event
When deleting the first occurrence, the event starting time changes to 2nd occurrence
When deleting the last occurrence, the 2nd last ending time becomes the ending time of the event
When the last existing occurrence is deleted, what happens to the event? It should not be possible to remove the last occurrence.
When adding a new first occurrence, it should also replace the event’s starting time
When adding a new last occurrence, it should also replace the event’s ending time

It should also be noted that a new start time should affect on enrolment start time.
If we replace the existing published values, we should also revalidate them: When the times changes, we should also validate them so that the times are not in the past and not too much in the future.

I have no idea why the snapshot tests fails here in Github, because they are not failing on my local machine.


Cross-platform java detection

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew tests with your changes locally?

Adapting java detection code to work on Linux.
Moved current implementation to extend/os/mac/system_config.rb.
New default is based on java -version and works on both platforms.
CC @sjackman

Thanks, Maxim!

Thanks again @maxim-belkin!

Thanks for merging, Mike!


Prepare architecture for multi-tracking system support

Description

[ ] find out what we really need to do here :)
[ ] create architecture for multi-tracking system support

Acceptance criteria

in progress

We talked about more tracker in the same time, our description of the sprint could be integreted to the many tracking system.


Footer blue item 13

Here is the component I have built.
this fixes #509
Here is a screenshot of that.

Good job @akanshaaa19
Congrats 🎉, your PR got merged. To be eligible for the swags from ClueLess. Follow this steps.

Star this repository. ⭐
SignIn / SignUp in [ClueLess Website](https://www.clueless.tech/) .
Go to profile section from the top right hand corner.

Comment your profile URL under this comment tagging the person who merged your PR.

That’s it. Follow the leaderboard !
And don’t forget to share your achievement with your friends.


Enable integrations API tests for Windows CI

backport of https://github.com/moby/moby/pull/39240 for 18.09

ping @olljanat @ddebroy @jhowardmsft ptal

RS1 did run integration API tests and CI failures looks to be unrelated so LGTM


Fee Payment Confirmation Email Template Updates

Description
During testing it was observed that fee payment confirmation email templates were missing key information around the new LDD as well as some tweaks needed to be made to the style of the templates.
Dependencies
Are there any dependencies?
DOD

[x] Update Fee Payment Confirmation Email Template when only a deposit is paid on a fee estimate
https://bcgov.sharepoint.com/:w:/t/03521/EXRPViULeKhPswf_6ogI0TQBDmGLqIkeGaxd_8g6xaeYvg?e=xCL6A0

[x] Update Fee Payment Confirmation Email Template when the full fee estimate is paid
https://bcgov.sharepoint.com/:w:/t/03521/EUGuTjU29NVCrcfyZxwq8O4BhuZ1r36Sth5guFcfEt4rOw?e=Y9Q93a

[x] Update Fee Payment Confirmation Email Template for Outstanding Balance
https://bcgov.sharepoint.com/:w:/t/03521/EXBAG5sscxVBjTPofei9FuQBtJd63N43EC81t6G_XaYPJw?e=vK7FYc

Legislated Due Date Recalculation - Acceptance Criteria:
Assumptions:

When a request is put on hold from the fee estimate state, successful payment will shift the state back to Call for Records
When a request is put on hold from the Response state, successful payment will shift the state back to Response
On hold days will now include the day payment is received
Payment received on a normal business day, regardless of time, is considered received that day
Payment received on a weekend or holiday will be considered received the next business day

Scenario 1: Request put on Hold

GIVEN a request is in the Fee Estimate or Response State
AND there is an approved CFR form with a balance remaining
WHEN the request state is changed to on hold
THEN the date the request is put on hold does NOT count against the Legislated Due Date or CFR Due Date
AND the LDD and CFR countdowns are suspended

Scenario 2: Payment Received - Business Days

GIVEN a general request is in the On-Hold state
WHEN the request is taken off hold
AND the date the payment is received falls within a normal business day, regardless of the time
THEN the legislative due date will be recalculated, by adding the on hold days to the legislative due date prior to the request going on hold
AND the day the request comes off hold will count as an on-hold day

Scenario 3: Payment Received - Weekends/Holidays

GIVEN a general request is in the On-Hold state
WHEN the request is taken off hold
AND the date the payment is received falls on a weekend, or a holiday
THEN the the legislative due date will be recalculated, by adding the on hold days to the legislative due date prior to the request going on hold
AND the day the request comes off hold will be considered as the NEXT business day and will count as an on-hold day

NOTE - Legislated Due Date noted in email templates must be inserted into template after the due date recalculation is done when the request is taken off of hold.
Logic rules for recalculating due date - the day a request goes on hold and the day the request comes off hold and all BUSINESS days between do NOT count against the request countdown, and due date should be adjusted accordingly.
cc: @abin-aot @lmullane @liseandtea @KyEggleston @JHarrietha-AOT

I have moved to top of Sprint Backlog, as this has been identified as a critical issue needing to be in place before we can go to PROD

@m-prodan I am ready to pick up this task. Please confirm if we can proceed with the changes.

Still waiting for the green light.

@sumathi-thirumani-aot @divyav-aot - please note, I have had to update the on hold calculation to be consistent with how IAO understands the on hold calculation - namely that the day payment is received is now back to being considered an on-hold day. This will add a day to the examples I went through with Sumathi.
cc @abin-aot

@lmullane I have created bug #3197 due to errors happening in the LDD calculation. When they are not being taken on and off hold multiple times in the same day they are calculation correctly.
We are unable to test scenario 3 as it much have a payment processed over the weekend to test. Let me know if you will have time to do that this weekend. I will leave the ticket in QA in Progress until Scenario 3 can be tested

Thanks for the update, @JHarrietha-AOT.

Hi @JHarrietha-AOT, @abin-aot, @liseandtea
I tested Scenario 3 and it failed.  I put the request On Hold on December 17th (a Saturday) and paid on the same day. Prior to the request going On Hold the LDD was January 18th.
The new LDD should have been January 19th (i.e. add a day for the next business day that the request came off hold).  But the LDD remained January 18th.
Here is the LDD prior to going On Hold to pay the outstanding balance:

Here is the LDD after payment of the Outstanding Balance:

And here is the email to the applicant also stating the wrong LDD:

@lmullane Had a chat with @liseandtea
In what you outlined above we would not add an additional day. A request that is put on hold on a Saturday (Outside of Business Hours) and Paid on a Saturday (Outside of Business Hours) Would not effect the LDD as all the actions were taken outside of the expected working day for an analyst (they would need to be doing overtime to put a request on hold on weekend which shouldn't could)
If the request was put on hold on a Friday, and then paid on the Saturday an additional day would be added.
Have updated both @sumathi-thirumani-aot & @divyav-aot to this which they have said is how it is calculating now

remaining issue with this ticket has been fixed with #3197, closing this ticket now


Output GTFS link mappings CSV file during GTFS link mapping process

@kaelgreco it's part of the GraphHopperBuilder dm (ie, the one that runs the link mapper) - I already coordinated w/ Aditya and the code needed on the python side is in his IL PR here: https://github.com/replicahq/model/pull/3117
If it's better to split that out into a separate PR, I'm happy to do that


Problem: before_commit callback in migrations

The documentation states the following:
In some rare cases, you may need to execute some common behavior after
beginning a migration transaction, or before commiting that transaction.
For instance, one might desire to set a lock_timeout for each lock in
the migration transaction.

However, it appears that if one is to have a migration that uses
commands (see example below), and define a before_commit callback,
then the callback will be executed before the commands are in fact
executed.
def change do
  create table("units") do
    ...
  end
end

Solution: execute before_commit after flushing commands
and flush commands again if before_commit queued up some more

An alternative solution to this problem (without chaning ecto_sql's code) would be to indicate that before_commit callback should call Ecto.Migration.Runner.flush() to ensure queued up commands have been executed.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Sass support

I saw that less support was already proposed in #178, and I would like to request Sass support, too. In the comments of #178 you asked why this is actually needed, i.e. what cannot be done with CSS that can be done with Less or Sass.
The answer is simple: if you have a large webapp that uses a build system, you have to be flexible about providing the font folder locations. In my case, I am using MeteorJS and package my custom font in an Atmosphere package. The font will be bundled into my app using Meteor's rules, so I have to customize the font path in order to make it point to the right target. Relative paths are not enough here.
It would be great if you could pass in a Sass variable for the font path, like it is done with the Sass versions of fontawesome and materialdesignicons. Using Sass would also allow you to define the icon prefix on the fly, even after you have downloaded the font. The aforementioned fonts support this level of customization as well.

You can use *-code.css and add outer definitions in your app
You can script upload/download operations via api and create any additional file from config.json

Please use old issue for comments.


Fix copy_to_clipboard for ruby 2.0.0

Tempfile::create was introduced in ruby 2.1.0
Using popen3 instead works on ruby 2.0.0 and is simpler since it doesn’t involve a temporary file at all.
Fixes #6945

@KrauseFx  is ruby 2.0.0 supported btw? - ssl issues? - or is it just the apple-shipped-2.0 wich has the ssl issues?

Hey, I just stumbled on #6758 with ruby 2.0.0 (El Capitan's version)! But I think this patch should be applied nonetheless.

yeah the patch is good - maybe we should do a red-sign on fastlane env if ruby version is below a certain number ?

Yes, I tried and it worked fine with an actual fastlane env output with newlines and emoji.

Awesome, this is a great change, thanks 👍


About Fig.6 again

Do you include the background when calculating mIoU?
The results I calculated are somewhat unusual; the decrease in mIoU(-0.07 ~ -0.17) is not as significant as shown in Figure 6(-0.1 ~ -0.4).

I used the original data you provided, 81.5 and 83.1.

About STCN, I used the original data you provided, 83.3(computed with official model without top-k) and 85.3.

Here is my code:
def calculate_iou(pred_mask, true_mask, class_id):
    pred_class = (pred_mask == class_id)
    true_class = (true_mask == class_id)

    intersection = np.logical_and(pred_class, true_class)
    union = np.logical_or(pred_class, true_class)

    iou = (np.sum(intersection) + 1e-6) / (np.sum(union) + 1e-6)

    return iou

def calculate_miou(pred_dir, gt_dir):
    pred_images = [Image.open(path) for path in pred_dir]
    gt_images = [Image.open(path) for path in gt_dir]

    num_classes = np.max(np.array(pred_images[0])) + 1  # Assuming class labels start from 0

    class_ious = np.zeros(num_classes)

    for class_id in range(num_classes):
        class_iou_sum = 0
        class_pixel_count = 0

        for i in range(len(pred_images)):
            pred_mask = np.array(pred_images[i])
            true_mask = np.array(gt_images[i])

            class_iou = calculate_iou(pred_mask, true_mask, class_id)

            class_iou_sum += class_iou
            class_pixel_count += np.sum(true_mask == class_id)

        class_ious[class_id] = class_iou_sum / len(pred_images)

    mean_iou = np.mean(class_ious)

    return mean_iou, class_ious

I excluded the background class when calculating, and I obtained the results（-0.1 ~ -0.25）.

In Fig.6, color bands showing the interquartile range, I thought it was mIoU，I misunderstood it.
But I still want to know if my way of calculating mIoU is correct.

I am not checking your code but the trend looks correct.

Thanks for your reply, I guess there is no bug.


Handle xls files with row content spread over multiple blocks

I think we can detect this in ReadWorkSheetGlobals and then read the whole sheet for this special case in ReadNextBlock.

Btw, I'm rewriting the xls row reading code to using yield right now. Interesting issue though, wasn't aware this could happen, but I'm not surprised. Do you have xls?

It's unfortunate that Excel is so forgiving. And yes, I have a sample xls file.


🧑💻: there should be a "back to top" button

Title
"Back to Top" button
Enhancement Aim
Enhance User Navigation and Accessibility
Changes
Add a "Back to Top" button at the bottom of every page
Screenshots 📷
No response
Guidelines

[X] I have read the guidelines
[X] I have the link to my latest merged PR

Full Name
Sejal Sharma
Participant Role
GSSOC Extd, Hacktoberfest
please assign me with this @vanshchauhan21

Title
"Back to Top" button
Enhancement Aim
Enhance User Navigation and Accessibility
Changes
Add a "Back to Top" button at the bottom of every page
Screenshots 📷
No response
Guidelines

[x]  I have read the guidelines
[x]  I have the link to my latest merged PR

Full Name
Sejal Sharma
Participant Role
GSSOC Extd, Hacktoberfest
please assign me with this @vanshchauhan21

Oky I will assign you do it 👍


dcos marathon update doesn't appear to allow json payload

dcoscli.version=0.4.14
dcos.version=1.8.6
dcos.commit=f98ac7040d67cacdafed71642eb6bc1b663a238e
marathon app add command doesn't appear to allow replacing the full json payload--meaning that one has to resort to curling the api's PUT method to get that behavior.

@matt-deboer you can use dcos marathon app update to achieve this.

please give an example

dcos-cli (master)$ cat cli/tests/data/marathon/apps/sleep.json
{
  "id": "test-app",
  "cmd": "sleep 1000",
  "cpus": 0.1,
  "mem": 16,
  "instances": 1,
  "labels": {
    "PACKAGE_ID": "test-app",
    "PACKAGE_VERSION": "1.2.3"
  }
}
dcos-cli (master)$ cat cli/tests/data/marathon/apps/sleep.json | dcos marathon app add
dcos-cli (master)$ dcos marathon app list
ID         MEM  CPUS  TASKS  HEALTH  DEPLOYMENT  CONTAINER  CMD
/test-app   16  0.1    1/1    ---       ---        mesos    sleep 1000
dcos-cli (master)$ cat cli/tests/data/marathon/apps/update_zero_instance_sleep.json
{
  "cpus": 1,
  "mem": 20,
  "cmd": "sleep 100"
}
dcos-cli (master)$ cat cli/tests/data/marathon/apps/update_zero_instance_sleep.json | dcos marathon app update test-app
Created deployment 73cc20fa-cc37-45a5-96b8-9f015ab31e22
dcos-cli (master)$ dcos marathon app list
ID         MEM  CPUS  TASKS  HEALTH  DEPLOYMENT  CONTAINER  CMD
/test-app   20   1     1/1    ---       ---        mesos    sleep 100
dcos-cli (master)$ dcos marathon app update test-app cpus=3
Created deployment e80320c6-3223-431a-a4dd-8c3690c47be3
dcos-cli (master)$ dcos marathon app list
ID         MEM  CPUS  TASKS  HEALTH  DEPLOYMENT  CONTAINER  CMD
/test-app   20   3     1/1    ---       ---        mesos    sleep 100

ah, thanks; didn't try piping it--is that documented?

Yep, under dcos marathon --help:
    <properties>
        List of space-separated config.json properties to update.  The list must
        be formatted as <key>=<value>. For example, `cpus=2.0 mem=308`. If
        omitted, properties are read from stdin.

If that's not clear, suggestions are always welcome :)

Looks like #2409 was essentially the same issue (got closed w/out resolution).
I think the misleading part is that a JSON payload does not conform to the way "The list must be formatted"...
<properties>
    List of space-separated config.json properties to update.  The list must
    be formatted as <key>=<value>. For example, `cpus=2.0 mem=308`. If
    omitted, properties are read from stdin.
    Additionally, when piping from stdin, a JSON object may be used instead.

Thanks for the feedback.


llmq: Improve/Fix GetVerifiedContributions

See commits

It avoids some copying here https://github.com/dashpay/dash/pull/3911/commits/f2dd2136abad52db8fb5e9af91253e0d7a03f1b8#diff-71a9db8ee968ccbf6a703fbf281c6231042e4009add6a719e8c12bd32e88856eL252-L253 and here https://github.com/dashpay/dash/pull/3911/commits/f2dd2136abad52db8fb5e9af91253e0d7a03f1b8#diff-71a9db8ee968ccbf6a703fbf281c6231042e4009add6a719e8c12bd32e88856eL268-L269 + It removes (IMO) needless complexity/abstraction because GetVerifiedContribution isn't used anywhere else.

It avoids some copying here https://github.com/dashpay/dash/pull/3911/commits/f2dd2136abad52db8fb5e9af91253e0d7a03f1b8#diff-71a9db8ee968ccbf6a703fbf281c6231042e4009add6a719e8c12bd32e88856eL252-L253 and here https://github.com/dashpay/dash/pull/3911/commits/f2dd2136abad52db8fb5e9af91253e0d7a03f1b8#diff-71a9db8ee968ccbf6a703fbf281c6231042e4009add6a719e8c12bd32e88856eL268-L269 + It removes (IMO) needless complexity/abstraction because GetVerifiedContribution isn't used anywhere else.


[BUG] getUpdates uses POST, but 'offset' must be GET param

Nutgram version
3.8.0
Describe the bug
To mark update as read we need to send offset GET param to Telegram getUpdates endpoint.
But method \SergiX44\Nutgram\Telegram\Client@getUpdates uses requestJson and it always uses POST.
I don't know if it works as expected with $bot->run(), but i'm trying to handle my updates with
$bot->getUpdates(['offset' => $highestId + 1]) and it doesn't mark any updates as read
To Reproduce
$bot = new Nutgram(config('nutgram.token'));

// Send message to the Telegram bot

$updates = $bot->getUpdates();

foreach ($updates as $update) {
    $highestId = $update->update_id;
}

// This should mark all the updates as read
$bot->getUpdates(['offset' => $highestId + 1]);

// But all the updates is still there
$updates = $bot->getUpdates();

assert(count($updates) !== 0); // true

Expected behavior
Updates mark as processed when getUpdates called with offset higher than last update id
Screenshots
No response
Additional context
No response

Try this:

But,
I suggest you to use our


Update gradle to 7.0.2

Update gradle to 7.0.2

Sounds good to me. What do you think @tomas-pluskal


Implement {to,from}_primitive for generated types.

This allows converting values to and from a representation that use only
primtive types, lists, and maps. This representation is easily serializable
into YAML/JSON.
Resolves #14.
TODO: Validation in to/from_primitive. The validation logic can probably be shared between the wire serialization functions.
CC @breerly @blampe @junchaowu

wat
The tests pass just fine on Py 2.7 and 3.4 locally. Investigating.

Caused by minor pytest bug. Already fixed in pytest master and should be released in 2.8.2. Adding a workaround to relevant tests meanwhile.

Will send this to 0.4 instead.


DefaultFSTInt2ObjectMap clear issue leads to JVM crash

Using 2.57 version taken from maven central (it seems there's no tag here in git) we were encountering issues during deserialization which either caused a Properties object to report incorrect values or ocasionally JVM crash.
After further tests and inspection we narrowed the issue to an incorrect clean of the DefaultFSTInt2ObjectMap, leaving some values which should be removed.
We created a simple unit test to reproduce the issue
    @Test
    public void testIncompleteClear() {

        DefaultFSTInt2ObjectMap<String> map = new DefaultFSTInt2ObjectMap<>(6);

        map.put(1, "first");
        map.put(14, "second");

        assertEquals("first", map.get(1));

        map.clear();

        map.put(19, "third");

        assertNull("Should be null", map.get(14));
    }

As you can see the next was not correctly cleared in this case.
This may be related with #274  and #235

thanks for the report .. wonder how this relates to a crash though. Might try to run it with unsafe disabled in order to get a proper exception.

I have the same problem using 2.56 version.
It appears that some values from previous deserialization are kept in org.nustaq.serialization.FSTObjectRegistry.idToObject (which is a DefaultFSTInt2ObjectMap).
Moreover, the code in org.nustaq.serialization.FSTObjectRegistry::getReadRegisteredObject returns object from this idToObject map before the object in reuseMap :
    public Object getReadRegisteredObject(int handle) {
        if (disabled) {
            return null;
        }
        int pos = handle / OBJ_DIVISOR;
        if ( pos < reuseMap.length ) {
            if ( reuseMap[pos] == null ) {
                return null;
            } else {
                Object candidate = idToObject.get(handle);
                if ( candidate == null )
                    return reuseMap[pos];
                return candidate;
            }
        }
        return idToObject.get(handle);
    }

Unfortunately the value at the same position in reuseMap is the good one.
Because of that, a key in the deserialized map had changed which is causing a NullPointerException later.
We are deserializing by calling this :
public static final ThreadLocal<FSTConfiguration> FST_CONFIGURATION = ThreadLocal
            .withInitial(FSTConfiguration::createDefaultConfiguration);

        byte[] message;
        FST_CONFIGURATION.get().asObject(message);

I also tried with :
        byte[] message;
        FSTConfiguration.getDefaultConfiguration().asObject(message);

So I have some questions about this :

Is there a way to really clear this map ? Or a way to get a clean newly configuration ?

Why there is a map (idToObject) and an array (reuseMap) and why the map value is chosen rather than the array value ?

It think it is simply related to the clear() code that clears the next map only if mKeys.length > 6 * size() && size > 0 is false. It should instead always be done.
public void clear() {
        int size = size();
        if (size == 0)
            return;
        if (mKeys.length > 6 * size() && size > 0) {
            // avoid cleaning huge mem areas after having written a large object
            if (size < 2) {
                size = 2;
            }
            size = FSTObject2IntMap.adjustSize(size * 2);
            mKeys = new int[size];
            mValues = new Object[size];
            mNumberOfElements = 0;
        } else {
            FSTUtil.clear(mKeys);
            FSTUtil.clear(mValues);
            mNumberOfElements = 0;
            if (next != null) {
                next.clear();
            }
        }
    }

Should be:
public void clear() {
        int size = size();
        if (size == 0)
            return;
        if (mKeys.length > 6 * size() && size > 0) {
            // avoid cleaning huge mem areas after having written a large object
            if (size < 2) {
                size = 2;
            }
            size = FSTObject2IntMap.adjustSize(size * 2);
            mKeys = new int[size];
            mValues = new Object[size];
            mNumberOfElements = 0;
        } else {
            FSTUtil.clear(mKeys);
            FSTUtil.clear(mValues);
            mNumberOfElements = 0;
        }
        if (next != null) {
            next.clear();
        }
    }

fixed in 3.0.1


Add option for acknowledging failed tasks (globally and per-task)

If a task fails with an exception, it is retried until it succeeds. This is contrary to what is said in the documentation: under the "Architecture" section, heading "Broker" (link) it says that even when a task errors, it's still considered a successful delivery. Failed tasks never get acknowledged however, thereby being retried after the timeout period. See also issues #238 and #194.
This patch adds an option to acknowledge failures, thereby closing issue #238. Issue #194 would require some more work. The default of this option is set to False, thereby maintaining backwards
compatibility.

Codecov Report

Merging #298 into master will increase coverage by 0.1%.
The diff coverage is 97.22%.

@@            Coverage Diff            @@
##           master     #298     +/-   ##
=========================================
+ Coverage    90.2%   90.31%   +0.1%
=========================================
  Files          44       44
  Lines        2839     2870     +31
=========================================
+ Hits         2561     2592     +31
  Misses        278      278

Impacted Files
Coverage Δ

django_q/conf.py
71.42% <100%> (+0.25%)
:arrow_up:

django_q/cluster.py
91.21% <100%> (+0.23%)
:arrow_up:

django_q/tests/test_cluster.py
100% <100%> (ø)
:arrow_up:

django_q/tasks.py
99.45% <66.66%> (-0.27%)
:arrow_down:

Continue to review full report at Codecov.

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

Thank you! Issue #238 can now be closed. And thank you for creating this package.