Album and Folder Not Updating Correctly

I used the option to export into Folders my Photo Albums:
--directory "{folder_album}"
I ran this option and because I'm saving to a OneDrive folder on my Mac it didn't like the fact one of my albums/folder had a / in it.  It generates this error, note that it puts. colon (:) not the actual offending character:

No problem.  I left it to complete and then renamed the folder in Photos and let it sync around iCloud.  As you can see here:

I have then re-run osxphotos and it regenerates the old folder name!  I.e. it's not looking at Photos and then saying "ah I need to change or rexport that".

Desktop (please complete the following information):

OS: Sonoma 14.3.1
osxphotos version: version 0.67.3

Basically, I am stuck now, whatever I do OSXPhotos fails to update the folder name.
Hope someone can help!
Mike

So to confirm. You've updated the album name by removing : and / within Photos. And have relaunched osxphotos and still the folder name is wrong. Hmmm weird.

try simply deleting the destination folder and reexport to force osxphotos to go thru it again.

on the --directory option you can also convert characters with the magical template system (do read about it on the doc as it has a lot to offer!) I use album and convert / and : to . "{album[/,.|:,.]}"

Your first bullet point is correct - that is what is happening.
I did try what you said - I deleted the folder, and then re-exported but it has come back.  It's almost like OSXPhotos is caching it.  However, your suggestion of the magical template system is a good one.  Though that feels like a work-around not a solution.
Much appreciated 👍

I just tried to re-create this and could not. Here's what I did:
Create an album with a "/" in the name: "Test/Album"
Export photos
Album is created with a "/" in the name and photo exported: "Test/Album"
Deleted the folder "Test/Album" in Finder
Replaced the "/" with "-" in Photos: "Test-Photo"
Exported again with --update
Photos in the album were now exported to "Test-Album". The original album was not re-created.

It's almost like OSXPhotos is caching it.

osxphotos does not cache the album name. It does keep a record of every file exported in the export database (.osxphotos_export.db in the export folder) but this is used to match exported photos to the correct photo in Photos. Information such as the correct folder name is created at the time of export from the data in Photos, not the export database.
Are you sure there isn't a second album with the uncorrected name in Photos?

It generates this error, note that it puts. colon (:) not the actual offending character:

Note that it's actually osxphotos not OneDrive that put a colon in instead of a slash. In the macOS filesystem "/" is used to separate folders and while it's possible to create a file with a "/" in it, this is ill-advised and will make the file very difficult to work with using normal command line tools. osxphotos instead changes all "/" in a file name to ":".  The Finder will automatically display these as "/" even though on disk, they're actually stored as ":" (this is a throwback to macOS Classic which used ":" to separate folders).

Hi - thanks for update.  In that case I'm not sure what to do then.   I'll double check my iCloud photo albums.

I have fixed it... I found an album that was under the Shared Album section.... All good now apologies for logging ticket.

If you want to exclude shared albums from the export you can use --not-shared


Create iso files only if Disk is present

What this PR does / why we need it:
Currently, using a virtiofs filesystem you can share ConfigMaps, Secrets and DownwardAPI volumes with the VM.  And if we share those volumes using virtiofs all the iso files are created since some parts of the code assumes that those volumes always have a Disk associated.
This PR refactors the code, so the iso files are not created if it's not necessary. It also removes the duplication of source/iso disk path calculation.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
This is PR was part of #9254, but as requested we only included the refactoring commits
Release note:
-->
NONE

/ok-to-test

v2:

Remove misleading warning
Check for empty disk dir in tests

Looks good to me!
/lgtm

/retest-required


Add Hidden Setting for Window Visible

Please add a hidden setting for window visibility so that I dont have to close the plugin every time the game opens. With a hidden setting it will simply remember the last state from when I closed the game.

Hey, sorry that this happened, forgot to invert the bool when releasing the plugin xD pushed an update that fixes this 👍


Replacement target not found in encoded URL

In class GitHistoryRefactoringMinerImpl in method populateWithGitHubAPI in line:
String rawURLInParentCommit = currentRawURL.toString().replace(currentCommitId, parentCommitId).replace(fileName, previousFilename);
In currentRawURL special characters are encoded so fileName was not found

Thank you @annapotr
The fix was added in the RefactoringMiner repo.
https://github.com/tsantalis/RefactoringMiner/commit/b08714aad21f34de924a01598ac5316351cd8da2


PR: Reset undocked before hiding state of all plugins before applying layout

Description of Changes

This is necessary to apply the layout as expected, i.e. that all plugins are shown in their expected positions.
It also avoids an error that leaves the main window in an inconsistent state.

Issue(s) Resolved

Fixes #22494
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

@meeseeksdev please backport to 6.x


Mesh Extraction

Can we extract mesh from the trained gaussian splats?

Sure, you can use convert.py to extract glb mesh from ply file:
python convert.py big --test_path <path to .ply file>


Make host and port config overwritable via command paramters

Also include number of iterations and sleep time between iterations.

Also implemented #64 as part of this issue.


[Feature]: Create a Tooltip component to use it on Tremor (or generic) components

What problem does this feature solve?
Some Tremor components already support tooltips, but sometimes you need a tooltip on a regular HTML component or on another React component or on a Tremor component that doesn't have the tooltip property. So in general it would be nice to extract the tooltip functionality into a component
What does the proposed API look like?
<Tooltip content="hey click me">
  <Button/>
</Tooltip>

Interesting, have you seen this somewhere else? I would like to check out a few examples :)

NextUI do it well
https://nextui.org/docs/components/tooltip

Yep sure, here the Mui tooltip as well:
https://mui.com/material-ui/react-tooltip/

I Would like to Contribute and fix this issue, please assign this to me

Hi @lucafaggianelli, @abdullah-txfusion, @anmol-fzr! We won't be taking this issue in our NPM package. However: We recently launched Tremor Raw, a copy & paste library for React components. Here we have a new Tooltip component, working exactly like the proposal! Thank you all for the discussion and happy coding ⌨


Weather App

#234
Thank you for assigning it to me.

Your image is not visible and please add running video  to show the application as well as mention steps to  run this in readme file.

@Tusharjoshi1703 please improve the Readme file.Thanks!

Ok
On Fri, 9 Jun, 2023, 15:28 Vikash Yadav, @.***> wrote:

@Tusharjoshi1703 https://github.com/Tusharjoshi1703 please improve the
Readme file.Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/Vikash-8090-Yadav/Future.WebNet/pull/259#issuecomment-1584304887,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYZJSISMU4VJ5OIE4PLCRULXKLXTLANCNFSM6AAAAAAY22CP6Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Terminal Web counts Loop In as Profit

After performing a Loop In, the Terminal Web summary shows obviously wrong data. CSV export table also shows the Looped In amount in the Fee column. It appeared as profit only after the swap server swiped the funds from the address yesterday…

7/26/2023, 11:20:35 AM | 1899024 | Loop In 1,900,000 sats (swap server) | swap_id=06ddda4c1d2658813739d7f6b00945114faa389ea947edb4da3ed72b946c6fba
Swap address: bc1ptrz6ktle0uk56eq2v3jv9yhq6a6sdr2tdg6ta4d0vfjqswmjkhvqcy6vpp
Expected behavior
Loop In shouldn't be counted as profit.
To reproduce
Do a Loop In, wait for it to complete.
System information
litd 0.10.4, with external LND on Windows 10...

Thanks for the report Eliot! Looking into this on our end, will let you know if we need more details.

I have tried to reproduce this and was not able to. I tested on regtest and testnet and the fees were calculated correctly.
Since the fee is pulled directly from loopd, can you check the CLI output of loop listswaps for this swap to see what value is returned for cost_server?

Since the fee is pulled directly from loopd, can you check the CLI output of loop listswaps for this swap to see what value is returned for cost_server?
cost_server for that swap shows as -1899024…

Ah ok, that explains where this value is coming from in the UI. I'm not sure if this is related to taproot swaps but that may be a hint. I'll ping the Loop team to see if someone can assist further.

Hey Eliot, really appreciate the feedback here. We're going to work on getting a fix in for this over the course of the next week or so. Just wanted to let you know that we ack the issue and are prioing a fix, but that's the timeline that we're looking at so that you have full vis and know what to expect next :)

I believe this was fixed on the Loop backend via the following changes. https://github.com/lightninglabs/loop/pull/751
https://github.com/lightninglabs/loop/pull/764 But, let me know if you're still seeing it.


[W6.4b][T10-B1]Wu Qihao

W6.4b

@qihao27 Some comments added. Please close the PR after reading comments.

No issue with the NFR, Kudos.
You have to write better commit message, W6.4b is not clear.


List: Color Doesn't work for the First Items

No matter what order I put in for Rows in widgets.List, the color wouldn't work for the first items. The first item would display normally, but in the default white color even if I put something like
"[text](fg:green)"

any news on this?

@meox I'm switched to awesome-gocui because this issue makes this library unviable for me. I don't think this repo is being maintained anymore though...

I found the problem ... the SelectedRowStyle override your color!

Is it possible to disable the SelectedRow or SelectedRowStyle to solve this?


School Library: Feature/refactor

We follow YAGNI, KISS and DRY principles, we refactor the main.rb and create new file called execute_option.rb.

Describe the SOLID principles of OOP.
Apply Ruby best practices and language style guides in code.
Make sure that the role of main.rb is only to start your code and ask the user for the initial choice of options (or to quit).
Extract some pieces of logic into separate class(es): execute_option.rb

For the Reviewer:
We have added the lines
# rubocop:disable Metrics/CyclomaticComplexity
# rubocop:enable Metrics/CyclomaticComplexity

Because of the these errors

As you can see, 7 when cases are not a lot and if we wanted to implement a work-around we will make the program  unnecessarily more complex, so it makes sense to disable this "error"


chore(Dependencies) : update zio-interop-reactivestreams from 1.3.12 to 2.0.1

Updates dev.zio:zio-interop-reactivestreams from 1.3.12 to 2.0.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio", artifactId = "zio-interop-reactivestreams" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio", artifactId = "zio-interop-reactivestreams" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #600.


Remove outdated links in "Can I put functions, promises, or other non-serializable items in my store state?"

name: :book: Updated Documentation Content
about: Remove outdated content in "Can I put functions, promises, or other non-serializable items in my store state?"
Checklist

[x] Is there an existing issue for this PR?

https://github.com/reduxjs/redux/issues/4421

[x] Have the files been linted and formatted?

What docs page is being added or updated?

Section: Can I put functions, promises, or other non-serializable items in my store state?
Page: Redux FAQ: Organizing State

For Updating Existing Content
What updates should be made to the page?

Remove links with outdated content, which can be confusing for new developers

Hmm. Just glancing at these titles, they at least seem accurate / relevant to the topic.

@markerikson I read all the links and kept the ones that didn't mention older APIs like connect or class components.
Did I misinterpret the suggestion in the original issue (https://github.com/reduxjs/redux/issues/4421)? I took it to mean that linked articles/discussions should use React hooks or be agnostic about the version of React used.
Happy to adjust as necessary for future PRs!

That makes sense, thanks for the feedback! And I'm more than happy to help out :)


Add timezone abstraction

Which issue does this PR close?

Part of #2594
Part of #599
Part of #1380
Rationale for this change

The existing logic was very tricky to understand, as it relied on applying offsets to NaiveDateTime. This is very easy to accidental mess up, adding instead of subtracting, forgetting to apply it, etc...
It also was complicating splitting up the crates, as the logic was split across multiple locations
What changes are included in this PR?

Uses the chrono timezone plumbing to provide type safe timezone APIs
Are there any user-facing changes?
No

looks great to me, thank you @tustvold

the return data types for timestamp_[sometimeunit]_to_datetime are changed to in #2894
https://github.com/apache/arrow-rs/pull/2909/files#diff-fe32c157c2dda897288cc93386e455e6a0bdc0c63ce14776053a894ca61665ebR100-R142
i've tried to rebase this branch from master and it worked well


minDate behaviour via constructor differs from minDate function call

Following on from #1302 there is still an inconsistency with the standard behaviour depending on order of operations.

    <input type='text' class="form-control" placeholder="Check in date" />

...
$('#checkin-date').datetimepicker({ minDate: moment(), useCurrent: false });

This shows the input with the placeholder text "Check in date" with the intent that dates prior to today cannot be selected.  Setting minDate via options means you cannot select todays date. However, if you then call minDate() with the same value, todays date can now be selected.
$('#checkin-date').datetimepicker({ minDate: moment(), useCurrent: false });
$('#checkin-date').data("DateTimePicker").minDate(moment());

I'm happy with the behaviour of setting minDate: moment.startOf('d') in the options because it makes sense, but the above inconsistency is a problem.

Using format option breaks the behavior as well - it is impossible to select current date after changing a date once.
$('#datetimepicker').datetimepicker({                 format: "MM-DD-YYYY",                 minDate : moment()             });
DEMO

@iamarsey this is actually the moment().startOf('d') behaviour.  If you set minDate: moment().startOf('d') your problem will go away.  This is what I do in production, however what I've raised in this issue is that behaviour is varying between initialisation and function call.


Padding Type layout for epub, xhtml

Type of reader (if reader related)
epub
Description of the new feature / enhancement
Reference For The Requested Feature - Padding Type Layout

1. For this type of layout there should be six new buttons / values in epub reader settings,

Border Line Thickness (Value or Slider)
Border Line Color
Border Inside & Outside BG Color
Border Padding Left & Right (Border line should only be on the left and right side. Top and bottom border is unnecessary).

2. The border line should respect the border padding left and right value while Increasing / Decreasing Font Size and width.
https://github.com/mienaiyami/yomikiru/assets/127277950/13f3c034-fb7d-440b-9867-8b4a79bb47fe
3. Sample / Reference Image Of Reader Settings,

Scenario when this would be used?
For reading epubs, xhtml with lesser eye strain. That layout also looks good.
Supporting information
I copied hex value of the colors used on the website and applied the same in yomikiru, but without the border and border outside bg color, it does not feel right.

Will be adding it as low priority, so might take a long time before its implemented.
But you can use this css as temporary solution.
body #app #EPubReader section.main>.cont{
    border: 1px solid;
    border-color: red;
    padding-left:40px;
    padding-right:40px;
    background-color: grey;
}

add this to your existing custom .css file or create a new custom.css file with this text inside, and then set it using settings.
Feel free to ask for help in setup.

If you want to use background color from the reader setting, then do this.
#EPubReader > section{
   background:var(--body-bg-color);
}
body #app #EPubReader section.main>.cont{
    border: 1px solid;
    border-color: red;
    padding-left:40px;
    padding-right:40px;
}


Autoplaylist is not checking user present on start

I have found quite an old bug. It's like a bot doesn't verifies if there is somebody in the voice while using:

Autoconnect to channel on start
Autoplay enabled
Autopause enabled

I have found that every time when bot starts/relaunches, it starts to play music on all servers even nobody in the voice. And the solution is enter to voice and exit, then bot see that
Can you try reproduce? (: If ya, add initial checking. I tryed to do it by my self, but failed (:
To reproduce:

Enable ^ 3 options
Add some tracks to autoplaylist.txt
Launch bot
Go to your TEXT channel and write !np and see, that music is playing but it should not :)
Tryed on review build. Still present.. :)
https://i.imgur.com/bV88mLx.png

https://cdn.discordapp.com/attachments/252967574168535040/404804293648973835/unknown.png
https://pastebin.com/hMrNFYYT

Should've been fixed by the above PR.


Dynamically load files with @import

@import will only accept a url or a quoted string (string literal). Is there a way to pass interpolated string or a variable to the @import function?

see https://github.com/cloudhead/less.js/pull/426

Thanks for looking into the client side bug for me.


Iron Man's Armor clipping through the player when looked at through when players are rendered from guis

Z-Fighting with skins second layer
Could disable the second layer but i dunno if that's a good solution

It's a good solution

yeah you wouldn't see the second layer with the suit on anyway just disable it but maybe only on body parts with an armour piece equipped so you can take your helmet off in future

It's a good solution

thank you jeryn 🙏

nope, z-fighting is also with the first layer

maybe if you can't see the player in the armor why not make it invisible

when the armor is comming off make the player not invisible

ive gotten it so that its just the legs z-fighting, so i disabled everything but the legs lol

lol

What I did for bulky armors that couldn't be alerted, was disabled everything but the head - because who cares that you cannot see the limbs underneath?

good point, considering the only thing youll need to see is the head and thats just if the mask pulls open

sikkk


add ateneo's domain

Ateneo de Manila University
web: https://ateneo.edu/

@andiwijayaid Pull request merged. Thank you!


Cilium must fail if k8s watcher can't be started

When running in a Kubernetes environment:

Relevant environment variables are set
API server is configured via agent option

then users are expecting the pod health to represent the health of Cilium. The following failures must result in Cilium being reported as unhealthy:

Failure to create any of the k8s watchers
Failure to connect to etcd
Failure to connect to the apiserver

If any of the above fails, the Kubernetes component status must be to failed and cilium status must return an error code.

Failure to create any of the k8s watchers
I'm not sure how to enforce this. The calls to start informers and event handlers don't seem to return errors, or even have a way to check an error. We also don't seem to have any errors returned in the callbacks we pass in. I'll try to find a good way to detect a catastrophic failure in parsing k8s and report that.

Failure to connect to etcd
All places we call kvstore.Setup are already fatal (https://github.com/cilium/cilium/blob/master/cilium/cmd/kvstore.go#L55 and https://github.com/cilium/cilium/blob/master/daemon/main.go#L629-L635)
This will also apply to consul.

Failure to connect to the apiserver
https://github.com/cilium/cilium/pull/3142 enforces this more stringently and earlier in the setup process. This will mark the cilium pod as bad, but it doesn't actually set a status field.

So, we exit(1) from cilium status when the agent state is not OK. This is set server-side after it checks the k8s state (Along with kvstore and container runtime). The k8s state relies on ComponentStatus which I hope contains all the watchers and whether they have errors. I'll verify this in a little bit.

I'm not sure how to enforce this. The calls to start informers and event handlers don't seem to return errors, or even have a way to check an error. We also don't seem to have any errors returned in the callbacks we pass in. I'll try to find a good way to detect a catastrophic failure in parsing k8s and report that.

I think there is an error handler which was used to restart some of the watchers on error. The watcher itself will just restart on error I think.

k8s watcher failures cannot be detected reliably. Closing this.


Provide a way to import all macros

Related to https://github.com/alphagov/govuk-prototype-kit/issues/727
We tell people to import each macro individually, for example:
{% from "button/macro.njk" import govukButton %}

In the Prototype Kit we've imported all macros so people don't need to add this line every time.
Another down side to the individual approach is people could copy and paste the example multiple times on the page, which is unnecessary and could be confusing.
With SCSS, we provide a way to import all SCSS, so not providing a way to import all macros seems inconsistent.
Proposal
We could provide a way to import all component macros, something like:
{% include "components/all.njk" %}

We would then change the guidance in the Design System to add this line once in your template, say in the production Get Started guide, instead of the import line in every example code snippet.
Potential risk - if Nunjucks actually loads macros into memory at import (we don't know whether it does) then potentially this could use more memory than it should.

You can also import macros like
{ govukRadios, govukCheckboxes } from 'govuk-frontend/macros'

So I wonder if you could have something like
'all' from 'govuk-frontend/macros'

Not sure.

This is something @aliuk2012 and I would like, as we're currently working on migrating the Digital Marketplace away from its own fork of govuk_frontend_toolkit and onto govuk-frontend.
I've created a branch of govuk-frontend which adds an all.njk template: https://github.com/alphagov/govuk-frontend/compare/master...lfdebrux:ldeb-add-all-njk
Do people think this could be turned into a pull request?

Potential risk - if Nunjucks actually loads macros into memory at import (we don't know whether it does) then potentially this could use more memory than it should.

I tried running nunjucks-cli to render template.njk against master and against my branch, and in both cases it used about the same amount of memory, 44 MiB. Actually the version importing individual elements used slightly more, but less than 1 MiB, and I think that's probably within errors.

I have also done a spike for an 'all.njk' feature. This was in response to talking to HMRC about making it easier for the Prototype Kit extensions.
https://github.com/alphagov/govuk-frontend/pull/1436

Interestingly nunjucks devs seem to recommend against using this pattern: 050843

because it prevents your application from having proper dependency tree

With regular JavaScript that is sent to users this is a issue since you're sending all of the code when you may only be using a part.
For a server side templating language I'm not sure what the cons are to loading all templates at once, even if they're not needed. I imagine it could slow down the application in certain scenarios? It's not clear.

Looking at the docs on include for Nunjucks and Jinja, I now realise that {% include 'components/all.njk' %} will never work, because including a template is defined as including its rendered contents, which is different to importing exported values. Also it seems that there is no way to do an import all or import without namespacing. I guess you must have realised all this already @nickcolley!
I do think though that this does seem to mean that there couldn't be a way of importing all macros without changing how GOV.UK Frontend is currently used.

I'm going to close this as we haven't seen demand for it, and there are a number of challenges with the approach as discussed in the comments above.
We have at least managed to avoid the Prototype Kit needing to import all of the components individually, as the config we ship now includes a dynamically generated list of all of the macros:
https://github.com/alphagov/govuk-frontend/blob/93fbf29fd9cab4f294d0ad4f7bd98b83dfa3fc63/src/govuk-prototype-kit/govuk-prototype-kit.config.mjs#L17-L26


[Question] How can I pass a tuple in js_export function?

Hi.
I want to pass a combination of two different types to JS, like the below.
#[js_export]
fn example() -> (usize, f64) {...}

Since stdweb seems not to support Rust's tuple, I have no idea to compile this code.
How can I do it?
Thank you.

Yes, tuples are currently not supported.
You can either return a structure with those two fields (use our serde integration), or return something like Vec<Value>.

Thank you!
I certainly looked at an example of serde in README.md, but I could not remember it.


Restart Fails from menu

I only have 1 instance installed, but when I try to restart that instance using the Octoprint menu, it fails, and I get the following in the logs

2023-03-02 19:19:23,700 - octoprint.server.api.system - INFO - Performing command for core:reboot: sudo shutdown -r now
2023-03-02 19:19:24,217 - octoprint.server.api.system - WARNING - Command for core:reboot failed with return code 1:
!
!  STDERR:
! sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
!
! sudo: a password is required

That command is not to restart the instance, but to restart the host. You can change the command in octoprint to sudo reboot which does the same thing.

Seems like even the restart instance doesn't work either.

2023-03-02 19:41:32,244 - octoprint.server.api.system - INFO - Performing command for core:restart: sudo service octoprint restart
2023-03-02 19:41:32,755 - octoprint.server.api.system - WARNING - Command for core:restart failed with return code 1:
!
!  STDERR:
! sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
!
! sudo: a password is required

I have a feeling that you restored some backup over the instance you created with the script, as neither of those commands will be used as part of octoprint_deploy.

that could be. I did a settings import from my rpi server!!

So what should these be then?

So what should these be then?

sudo systemctl restsart yourinstancename
sudo reboot
sudo shutdown now

That did it!
Thank you!!


refactor(v2): TS config update: reduce the size of npm modules

Signed-off-by: Reece Dunham<EMAIL_ADDRESS>
Motivation
Right now, @docusaurus/core is 1.36mb, which seems a bit big for just the core files.  This reduces the size of a number of the packages by doing a number of things:

Updates the TypeScript target to ES2019 from ES2017, since Node 12 is now the required minimum for D2.  This means that some modern syntax features don't need to be polyfilled.
Changes the TypeScript compiler settings to avoid writing out helper functions like this just to use the spread operator:

__rest = function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function") {
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    }
    return t;
};

To instead just import it from tslib, reducing code duplication.

Disabling the generation of source maps from .d.ts files, which is just unneeded since the .d.ts are generated in the first place. They are essentially their own source maps.
Update TypeScript to v4.1.5

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Everything appears to be fine.
Related PRs
n/a

This reduces the size to 803 kilobytes, a save of 1.1 megabytes 🎉 🎉


how to auto register?

create accounts ? or just create providerS?
how to create accounts? i should give email/emailpasswd?
app passwd? normal passwd? or what

so i manage to solve this.. im farming with some acc i already create before..
so for new accounts how i use autorefferel? where i should set the emails i want to create like will use the info from where?


HDFS-16354. Add description of GETSNAPSHOTDIFFLISTING to WebHDFS doc.

https://issues.apache.org/jira/browse/HDFS-16354
HDFS-16091 (#3374) added GETSNAPSHOTDIFFLISTING op leveraging ClientProtocol#getSnapshotDiffReportListing.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 51s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
markdownlint
0m  0s

markdownlint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
46m 18s

trunk passed

+1 :green_heart:
mvnsite
1m 29s

trunk passed

+1 :green_heart:
shadedclient
70m  6s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 18s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
1m 18s

the patch passed

+1 :green_heart:
shadedclient
23m 35s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
asflicense
0m 29s

The patch does not generate ASF License warnings.

97m 42s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3740/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3740

Optional Tests
dupname asflicense mvnsite codespell markdownlint

uname
Linux eb10a5da2d2e 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:21:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 5526f16df575bf936decf2fe85a8c3d157120caf

Max. process+thread count
522 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3740/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 36s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
markdownlint
0m  1s

markdownlint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ trunk Compile Tests _

-1 :x:
mvninstall
3m 44s
/branch-mvninstall-root.txt
root in trunk failed.

-1 :x:
mvnsite
0m 22s
/branch-mvnsite-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in trunk failed.

+1 :green_heart:
shadedclient
4m 58s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

-1 :x:
mvninstall
0m 23s
/patch-mvninstall-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in the patch failed.

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-1 :x:
mvnsite
0m 23s
/patch-mvnsite-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in the patch failed.

+1 :green_heart:
shadedclient
1m 12s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+0 :ok:
asflicense
0m 23s

ASF License check generated no output?

10m 17s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3740/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3740

Optional Tests
dupname asflicense mvnsite codespell markdownlint

uname
Linux 1401992f54c6 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 10de5b8b814a49fa23a304fe410c352de7393d6a

Max. process+thread count
93 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3740/2/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 29s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
markdownlint
0m  0s

markdownlint was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 35s

trunk passed

+1 :green_heart:
mvnsite
1m 31s

trunk passed

+1 :green_heart:
shadedclient
56m 44s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 28s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
1m 26s

the patch passed

+1 :green_heart:
shadedclient
21m 44s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
asflicense
0m 35s

The patch does not generate ASF License warnings.

83m 56s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3740/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3740

Optional Tests
dupname asflicense mvnsite codespell markdownlint

uname
Linux e7cd2bbec2f2 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 10de5b8b814a49fa23a304fe410c352de7393d6a

Max. process+thread count
718 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3740/3/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

Thanks. I merged this.


[Support] How to renew a expired certificate or how to delete a client

Unfortunately I was unable to find a method on how to completely delete a client from the server or how to renew a certificate
Would you be so kind to provide me with the necessary steps to renew a expired certificate? Or at least, how to completely delete a client from the VPN Server?

If you are using wireguard; "pivpn remove"  appears to delete the client config.  After that, the client cannot connect to the server.
Using ovpn, the only way I know of renewing an expired certificate is to generate a new certificate, then apply that in the client.  Again, remove should remove the older expired configuration - since it was expired it is not going to work anyway.

Adding to what @shelleycat485 said, you make the server forget about an expired or revoked client because the server needs to know that such client must not be allowed to connect.

No responses in a while, closing...


Coverage and schematron

Re-openning subject to discuss how we could implement this.
This is related to #191 .
Leaving XQuery coverage out, only speeking about schematron.
Process is : compile Schematron to XSLT, compile XSpec-for-schematron to normal-xspec. Technically, we can add a coverage listener on the compiled XSL, and extract results. But then, we need to retro-apply coverage results to original schematron.

Could we keep original line number in compiled XSLT ? This need evolution of schematron implementation, but is technically possible, as of saxon:line-number(node()) function
Could we retro-process coverage result to original schematron, through compiled XSLT anotated with original line numbers ? Probably, but I'm not sure. Maybe @mricaud will have an opinion on this.

Hi @cmarchand
I recently worked on the jing's iso-schematron.xsl (https://github.com/ELSGestion/jing-trang/tree/mricaud). The jing XML report already keeps the line and column number of the XML file, so I guess you could do the same with the schematron file lines (adding sch:line-number for instance)
Why do you need line numbering by the way ? Is it used in the XSpec coverage result  ?
Oh yes I see : you need to know which lines of the schematron has been execute while processing the Xspec. In the report you want to emphasize unexecuted lines, Correct ?
As long as you keep original line numbering in the process this should be easy to re-parse the schematron and get unexecuted lines I guess.


Add<EMAIL_ADDRESS>

The RMUTT has 2 email domains for their students

<EMAIL_ADDRESS>this is for teacher and the students in master degree or above
<EMAIL_ADDRESS>this is for Bachelor students

The present commit has only domain for the master degree student, so I'm going to add a Bachelor student's domain by simply added the /lib/domains/th/ac/rmutt/mail.txt

@RouEmpire First stage of verification passed, official domain for Rajamangala University of Technology Thanyaburi is mail.rmutt.ac.th as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@RouEmpire Thank you for your patience while waiting for a review and processing your request. Pull request merged.


[Bug]: 1.18 Incompatible with FTB Ranks

What happened?
Hey only the /say command sends mnecraft chat to discord the rest of the mod works but normal typing in chat doesn't.
I have a big modpack and i don't know how to detect a possible mod incompatibility
When someone is OP the name color gets green but idk of any other chat things and wich mod is doing that
Game Version
Other
What platform are you using?
Fabric
Platform version
1.18.1 / fabric 0.12.12
Config File
# General options for the bot
[general]
  # Insert your Bot Token here!
  # DO NOT SHARE IT WITH ANYONE!
  botToken = "OTI5MTIyMzkzNDI1ODY2ODA1.YdiuqA.qf44imXqKl1cHy1n8Qg2ejiZeqg"
  # The channel ID where the bot will be working in
  botChannel = "[mybottoken]"
  # The bot's status message
  #
  # PLACEHOLDERS:
  # %online% - Online Players
  # %max% - Maximum Player Amount
  botStatusName = "%online% players Online"
  # Type of the bot's status
  # Allowed Values: DISABLED,PLAYING,WATCHING,LISTENING,STREAMING,COMPETING
  botStatusType = "STREAMING"
  # URL of the bot's stream when using the status type 'STREAMING'
  # Has to start with https://twitch.tv/ or https://www.youtube.com/watch?v=
  streamingURL = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  # Enable checking for updates?
  # Notification will be shown after every server start in log when update is available
  enableUpdateChecker = true
  # The minimum release type for the update checker to notify
  # Allowed values: release, beta, alpha
  updateCheckerMinimumReleaseType = "beta"
  # Set to false to disable config migration from other mods/plugins to this one
  # This does not prevent updating of this config after mod updates
  allowConfigMigration = true
  # Attempt to parse id-based mentions to names in in-game chat
  parseMentionsIngame = true
# Configuration options for commands
[commands]
  # The Role IDs of your Admin Roles
  # Now supports multiple roles which can access admin commands
adminRoleIDs = [  "929492505442009189"  ]
  # Add your custom commands here
  # You can also generate some on https://erdbeerbaerlp.de/dcintegration-commands/
  # You must op this UUID in the ops.txt or some custom commands won't work!
  senderUUID = "8d8982a5-8cf9-4604-8feb-3dd5ee1f83a3"
  # Enable help command?
  # Disabling also removes response when you entered an invalid command
  # Requires server restart
  helpCmdEnabled = true
  # Enable the list command in discord
  # Requires server restart
  listCmdEnabled = true
  # Enable the uptime command in discord
  # Requires server restart
  uptimeCmdEnabled = true
  # Set to false to completely disable the "Unknown Command" message
  showUnknownCommandMessage = true
  # Set to true to enable the "Unknown Command" message in all channels
  showUnknownCommandEverywhere = false

    [[commands.customCommands]]
      name = "kick"
      description = "Kicks an player from the Server"
      mcCommand = "kick %player% %reason%"
      adminOnly = true
      hidden = false

        [[commands.customCommands.args]]
          name = "player"
          description = "The player to be kicked"
          optional = false

        [[commands.customCommands.args]]
          name = "reason"
          description = "Reason for the kick"
          optional = true

    [[commands.customCommands]]
      name = "stop"
      description = "Stops the server"
      mcCommand = "stop"
      adminOnly = true
      hidden = false
args = [    ]

    [[commands.customCommands]]
      name = "kill"
      description = "Kills an Player or Entity"
      mcCommand = "kill %target%"
      adminOnly = true
      hidden = false

        [[commands.customCommands.args]]
          name = "target"
          description = "The target(s) for the kill command."
          optional = false
# Toggle some message related features
[messages]
  # Enable formatting conversion (Markdown <==> Minecraft)
  convertCodes = true
  # Send formatting codes from mc chat to discord
  # Has no effect when markdown <==> Minecraft is enabled
  formattingCodesToDiscord = false
  # Should /say output be sent to discord?
  sendOnSayCommand = true
  # Should /me output be sent to discord?
  sendOnMeCommand = true
  # When an /say command's message starts with this prefix, it will not be sent to discord
  sayCommandIgnoredPrefix = "§4§6§k§r"
  # Should tamed entity death be visible in discord?
  sendDeathMessagesForTamedAnimals = true
# Advanced options
[advanced]
  # Custom channel ID for server specific messages (like Join/leave)
  # Leave 'default' to use default channel
  serverChannelID = "935304977084219483"
  # Custom channel ID for death messages
  # Leave 'default' to use default channel
  deathsChannelID = "935304977084219483"
  # Custom channel for for ingame messages
  # Leave 'default' to use default channel
  chatOutputChannelID = "935304977084219483"
  # Custom channel where messages get sent to minecraft
  # Leave 'default' to use default channel
  chatInputChannelID = "935304977084219483"
# Config options which only have an effect when using forge
[forgeSpecific]
  # A list of blacklisted modids
  # Adding one will prevent the mod to send messages to discord using forges IMC system
IMC_modIdBlacklist = [  "examplemod"  ]
  # Show item information, which is visible on hover ingame, as embed in discord?
  sendItemInfo = true
# Configuration for linking
[linking]
  # Unlink players when they leave the discord server for whatever reason (ex. leave,kick,ban)?
  unlinkOnLeave = true
  # Should discord linking be enabled?
  # If whitelist is on, this can NOT be disabled
  # DOES NOT WORK IN OFFLINE MODE!
  enableLinking = true
  # Role ID of an role an player should get when he links his discord account
  # Leave as 0 to disable
  linkedRoleID = "935310342647599184"
  # Enable discord based whitelist?
  # This will override the link config!
  # To whitelist use the whitelist command in the bot DMs
  whitelistMode = true
  # Adding Role IDs here will require the players to have at least ONE of these roles to link account
requiredRoles = [  "933728631140806666"  ]
settingsBlacklist = [    ]

    # Allows you to configure the default values of some personal settings
    [linking.personalSettingsDefaults]
      default_useDiscordNameInChannel = true
      default_ignoreReactions = false
      default_pingSound = true
# Webhook configuration
[webhook]
  # Whether or not the bot should use a webhook (it will create one)
  enable = true
  # The avatar to be used for server messages
  serverAvatarURL = "https://cdn.discordapp.com/avatars/929122393425866805/909f705dfc842244dc2e5d32f74b1403.webp"
  # The name to be used for server messages
  serverName = "Creeper-Chan"
  # The URL where the player avatar gets fetched from
  #
  # PLACEHOLDERS:
  # %uuid% - Returns the player's UUID with dashes
  # %uuid_dashless% - Returns the player's UUID without dashes
  # %name% - Returns the player's name
  # %randomUUID% - Returns an random UUID which can be used to prevent discord cache
  playerAvatarURL = "https://minotar.net/avatar/%uuid%?randomuuid=%randomUUID%"
# Allows you to modify and translate most of the messages this bot will send
[localization]
  # This is what will be displayed ingame when someone types into the bot's channel
  # PLACEHOLDERS:
  # %user% - The username
  # %id% - The user ID
  # %msg% - The message
  ingame_discordMessage = "§6[§5DISCORD§6]§r <%user%> %msg%"
  # This is what will be displayed ingame when someone sends an reply into the bot's channel
  # PLACEHOLDERS:
  # %user% - The username
  # %id% - The user ID
  # %msg% - The reply message
  # %ruser% - The username of the message that got the reply
  # %rmsg% - The replied message
  ingame_discordReplyMessage = "§6[§5DISCORD§6]§r §a%user%§r in reply to §3%ruser%§r: %msg%"
  # Message shown when hovering over the username of an discord message
  # PLACEHOLDERS:
  # %user% - The username/nickname (Someone123)
  # %user#tag% - The username with tag (someone#0001)
  # %id% - The user ID
  #
  # NOTE: using an @ here can cause ping sounds ingame
  discordUserHover = "§3Discord User %user#tag%\n§aClick to mention"
  # This message will edited in / sent when the server finished starting
  serverStarted = ":white_check_mark:**Server Started!**"
  # Message to show while the server is starting
  # This will be edited to SERVER_STARTED_MSG when webhook is false
  serverStarting = "Server Starting..."
  # This message will be sent when the server was stopped
  serverStopped = ":stop_sign:**Server Stopped!**"
  # The message to print to discord when it was possible to detect a server crash
  serverCrash = "Server Crash Detected :thinking:"
  # Gets sent when an player joins
  #
  # PLACEHOLDERS:
  # %player% - The player's name
  playerJoin = "%player% joined"
  # Gets sent when an player leaves
  #
  # PLACEHOLDERS:
  # %player% - The player's name
  playerLeave = "%player% left"
  # Gets sent when an player dies
  #
  # PLACEHOLDERS:
  # %player% - The player's name
  # %msg% - The death message
  playerDeath = "%player% %msg%"
  # Message sent instead of playerLeave, when the player times out
  #
  # PLACEHOLDERS:
  # %player% - The player's name
  playerTimeout = "%player% timed out!"
  # Gets sent when an player finishes an advancement
  # Supports MulitLined messages using \n
  #
  # PLACEHOLDERS:
  # %player% - The player's name
  # %name% - The advancement name
  # %desc% - The advancement description
  advancementMessage = "%player% just made the advancement **%name%**\n_%desc%_"
  # The chat message in discord, sent from an player in-game
  #
  # PLACEHOLDERS:
  # %player% - The player's name
  # %msg% - The chat message
  discordChatMessage = "%player%: %msg%"
  # Sent to a player when someone reacts to his messages
  # PLACEHOLDERS:
  # %name% - (Nick-)Name of the user who reacted (format: 'SomeNickName')
  # %name2% - Name of the user who reacted with discord discriminator (format: 'SomeName#0123')
  # %msg% - Content of the message which got the reaction
  # %emote% - The reacted emote
  reactionMessage = "§6[§5DISCORD§6]§r§7 %name% reacted to your message \"§9%msg%§7\" with '%emote%'"
  # Message shown for attachments
  attachment = "Attachment"
  # Message shown for stickers
  sticker = "Sticker"
  # Header for Embeds
  embed = "Embed"
  # Message shown for embed images
  embedImage = "Image"
  # Message shown for embed messages
  embedMessage = "Message"
  # Hover message for the bot tag ingame
  bot = "This user is an bot"

    # Strings about the discord commands
    [localization.commands]
      # Shown in console when trying to use the discord command
      ingameOnly = "This command can only be executed ingame"
      # Shown when successfully reloading the config file
      configReloaded = "Config reloaded!"
      # Shown when an subcommand is disabled
      subcommandDisabled = "This subcommand is disabled!"
      # Message sent when user does not have permission to run a command
      noPermission = "You don't have permission to execute this command!"
      # Message sent when an invalid command was typed
      #
      # PLACEHOLDERS:
      unknownCommand = "Unknown command, try `/help` for a list of commands"
      # Message if a player provides less arguments than required
      notEnoughArguments = "Not enough arguments"
      # Message if a player provides too many arguments
      tooManyArguments = "Too many arguments"
      # Message if a player can not be found
      #
      # PLACEHOLDERS:
      # %player% - The player's name
      playerNotFound = "Can not find player \"%player%\""
      # The message for 'list' when no player is online
      cmdList_empty = "There is no player online..."
      # The header for 'list' when one player is online
      cmdList_one = "There is 1 player online:"
      # The header for 'list'
      # PLACEHOLDERS:
      # %amount% - The amount of players online
      cmdList_header = "There are %amount% players online:"
      # Header of the help command
      cmdHelp_header = "Your available commands in this channel:"
      # Message sent when ignoring Discord messages
      commandIgnore_ignore = "You are now ignoring Discord messages!"
      # Message sent when unignoring Discord messages
      commandIgnore_unignore = "You are no longer ignoring Discord messages!"
      # Message sent when using the uptime command
      #
      # PLACEHOLDERS:
      # %uptime% - Uptime in uptime format, see uptimeFormat
      cmdUptime_message = "The server is running for %uptime%"
      # The format of the uptime command
      # For more help with the formatting visit https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/time/DurationFormatUtils.html
      uptimeFormat = "dd 'days' HH 'hours' mm 'minutes'"
      # Shows when running slash commands as command response
      executing = "Executing..."
      # Command argument description for the linkcheck command's Discord user parameter
      cmdLinkcheck_userargDesc = "The discord user to check"
      # Command argument description for the linkcheck command's minecraft player parameter
      cmdLinkcheck_mcargDesc = "The minecraft player's UUID or Name to check"
      # Sent when checked user is not linked
      cmdLinkcheck_notlinked = "This account is not linked!"
      #
      cmdLinkcheck_discordAcc = "Discord-Account: "
      cmdLinkcheck_minecraftAcc = "Minecraft Account: "
      cmdLinkcheck_cannotGetPlayer = "Error getting player information! Maybe you used an invalid name / UUID"
      cmdSett_key = "Destination settings key"
      cmdSett_val = "Settings value"
      cmdSett_set = "Change an setting"
      cmdSett_get = "Retrieve an setting value"

        # Command descriptions
        [localization.commands.descriptions]
          settings = "Allows you to edit your personal settings"
          uptime = "Displays the server uptime"
          help = "Displays a list of all commands"
          list = "Lists all players currently online"
          link = "Links your Discord account with your Minecraft account"
          whitelist = "Whitelists you on the server by linking with Discord"
          linkcheck = "Shows info about an linked discord user or an ingame player"

    # Strings about the account linking feature
    [localization.linking]
      # Sent to the user when he linked his discord successfully
      # PLACEHOLDERS:
      # %player% - The in-game player name
      linkSuccessful = "Your account is now linked with %player%.\nUse /settings to view and set some user-specific settings"
      # Sent to the user when linking fails
      linkFailed = "Account link failed"
      # Sent when an already linked user attempts to link an account
      # PLACEHOLDERS:
      # %player% - The in-game player name
      alreadyLinked = "Your account is already linked with %player%"
      # Sent when attempting to use personal commands while not linked
      # PLACEHOLDERS:
      # %method% - The currently enabled method for linking
      notLinked = "Your account is not linked! Link it first using %method%"
      # Message of the link method in whitelist mode
      # Used by %method% placeholder
      linkMethodWhitelistCode = "joining the server and then using `/link <whitelist-code>` here"
      # Message of the link method in normal mode
      # Used by %method% placeholder
      linkMethodIngame = "`/discord link` ingame"
      # Sent when attempting to whitelist-link with an non uuid string
      # PLACEHOLDERS:
      # %arg% - The provided argument
      link_argumentNotUUID = "Argument \"%arg%\" is not an valid UUID or Name. Use `/whitelist <Name-or-UUID>`"
      # Sent when attempting to link with an unknown number
      invalidLinkNumber = "Invalid link number! Use `/discord link` ingame to get your link number"
      # Sent when attempting to link with an invalid number
      linkNumberNAN = "This is not a number!"
      # Message shown to players who are not whitelisted using discord
      # No effect if discord whitelist is off
      notWhitelistedCode = "§cYou are not linked.\nJoin the discord server for more information\nhttps://discord.gg/X58zbr7VqK\nYour Link-Code is: §6%code%"
      # Sent when trying to link without an required role
      link_requiredRole = "You need to have the whitelist role to use this"
      # Sent when trying to link as an non-member
      link_notMember = "You are not member of the Discord-Server this bot is operating in!"
      # Sent to the user when he linked his discord successfully
      # PLACEHOLDERS:
      # %name% - The linked discord name
      # %name#tag% - The linked discord name with tag
      linkSuccessfulIngame = "Your account is now linked with discord-user %name#tag%"
      # Message shown to players who want to link their discord account ingame
      #
      # PLACEHOLDERS:
      # %num% - The link number
      linkMsgIngame = "Send this command as a direct message to the bot to link your account: /link %num%\nThis number will expire after 10 minutes"
      # Shown when hovering over the link message
      hoverMsg_copyClipboard = "Click to copy command to clipboard"

    # Strings about the personal settings feature
    [localization.personalSettings]
      # Message for getting an setting's value
      personalSettingGet = "This settings value is `%bool%`"
      # Sent when user sucessfully updates an prersonal setting
      settingUpdateSuccessful = "Successfully updated setting!"
      # Header of the personal settings list
      personalSettingsHeader = "Personal Settings list:"
      # Error message when providing an invalid personal setting name
      invalidPersonalSettingKey = "`%key%` is not an valid setting!"
      settingsCommandUsage = "Usages:\n\n/settings - lists all available keys\n/settings get <key> - Gets the current settings value\n/settings set <key> <value> - Sets an Settings value"
      # Sent when setting an personal setting fails
      settingUpdateFailed = "Failed to set value :/"
      # Sent when attempting to change an blacklisted setting
      settingUpdateBlocked = "The server owner disabled changing of this setting"

        # Descriptions of the settings
        [localization.personalSettings.descriptons]
          ignoreDiscordChatIngame = "Configure if you want to ignore discord chat ingame"
          useDiscordNameInChannel = "Should the bot send messages using your discord name and avatar instead of your in-game name and skin?"
          ignoreReactions = "Configure if you want to ignore discord reactions ingame"
          pingSound = "Toggle the ingame ping sound"
          hideFromDiscord = "Setting this to true will hide all of your minecraft messages from discord"
# Configuration for the in-game command '/discord'
[ingameCommand]
  # Enable the /discord command to show an custom message with invite URL?
  enabled = true
  # The message displayed when typing /discord in the server chat
  message = "Join our discord! http://discord.gg/X58zbr7VqK"
  # The message shown when hovering the /discord command message
  hoverMessage = "Click to open the invite url"
  # The url to open when clicking the /discord command text
  inviteURL = "http://discord.gg/X58zbr7VqK"
# The command log channel is an channel where every command execution gets logged
[commandLog]
  # Channel ID for the command log channel
  # Leave 0 to disable
  channelID = "0"
  # The format of the log messages
  #
  # PLACEHOLDERS:
  # %sender% - The name of the Command Source
  # %cmd% - executed command (e.g. "say Hello World"
  # %cmd-no-args% - Command without arguments (e.g. "say"
  message = "%sender% executed command `%cmd%`"
  # A list of commands that should NOT be logged
ignoredCommands = [  "list", "help", "?"  ]
# Configure votifier integration here
# (Spigot only)
[votifier]
  # Should votifier messages be sent to discord?
  enabled = true
  # Custom channel ID for Votifier messages
  # Leave 'default' to use default channel
  votifierChannelID = "default"
  # The message format of the votifier message
  #
  # PLACEHOLDERS:
  # %player% - The player´s name
  # %site% - The name of the vote site
  # %addr% - (IP) Address of the site
  message = ":ballot_box: %player% just voted on %site%"
  # Name of the webhook title
  name = "Votifier"
  # URL of the webhook avatar image
  avatarURL = "https://www.cubecraft.net/attachments/bkjvmqn-png.126824/"
# Configure Dynmap integration here
[dynmap]
  # The message format of the message forwarded to discord
  #
  # PLACEHOLDERS:
  # %sender% - The sender´s name
  # %msg% - The Message
  dcMessage = "<%sender%> %msg%"
  # Custom channel ID for dynmap chat
  # Leave 'default' to use default channel
  dynmapChannelID = "default"
  # Name of the webhook title
  name = "Dynmap Web-Chat"
  # URL of the webhook avatar image
  avatarURL = "https://styles.redditmedia.com/t5_2kl3ct/styles/communityIcon_am5zopqnjhs41.png"
  # The name format of the message forwarded to the dynmap webchat
  #
  # PLACEHOLDERS:
  # %name% - The discord name of the sender (including nickname)
  # %name#tag% - The discord name with tag of the sender (without nickname)
  webName = "%name% (discord)"
  # Name shown in discord when no name was specified on the website
  unnamed = "Unnamed"
# Configure some plugin-specific BStats settings here
# Everything can be seen here: https://bstats.org/plugin/bukkit/DiscordIntegration/9765
#
# Does not apply to fabric yet, as there is no bstats for it
[bstats]
  # Allow sending of installed addon stats (Name and version of installed addons)
  sendAddonStats = true
# Settings for servers running as Bungeecord-suberver
[bungee]
  # Set this to true if the server is running as an subserver of an bungeecord network and therefore needs to be in offline mode
  # Setting this will force account linking in offline mode
  # Do NOT use for actual offline mode servers, as this will break the linking feature because of the UUIDs!
  #
  # Currently no support for floodgate running on bungee
  isBehindBungee = false

Crash report / Error log (if applicable)
https://mclo.gs/eG6I9xI

Additional Information
The modpack I'm using is made by myself but is mostly based on All of Fabric 5 and here is my mod list:
https://vaporvee.com/cc-vpm-modlist.html

Probably something with ftb?

It was FTB Ranks for Fabric 1.18 the Server doesn't need this mod for anything tho

It was FTB Ranks for Fabric 1.18 the Server doesn't need this mod for anything tho

You are correct, ftb for new versions is very alpha which means they most likely got core code to work but no additionial peramters when it comes to the admin end customization and controls. This is expected.
Your bug is actually considered a dupe, as there is multiple reports that revolve around mods to which causes issues.
You can check out the issue I've kept up for a while which I've updated to include any mods we or I know that causes issues.
https://github.com/ErdbeerbaerLP/Discord-Integration-Fabric/issues/5


Thread local fallback

This PR provides a failing test to reproduce the issue described in #145, and fixes the issue as described by handling the AccessError.

Thanks for the PR @divergentdave!
It looks like we're accumulating a bit of logic in this method so maybe it's time to refactor it a bit into something more manageable. I was thinking we could just inline the write call into the places where we have a Formatter. So something like (probably doesn't actually compile):
let print = |formatter, record| {
    let _ = (self.format)(&mut formatter, record)
        .and_then(|_| formatter.print(&self.writer));
    formatter.clear();
}

let printed = FORMATTER.try_with(|tl_buf| {
    match tl_buf.try_borrow_mut() {
        // There are no active borrows of the buffer
        Ok(ref mut tl_buf) => match tl_buf {
            // We have a previously set formatter
            Some(ref mut formatter) => {
                if formatter.write_style() != self.writer.write_style() {
                    *formatter = Formatter::new(&self.writer)
                }

                print(formatter, record);
            },
            // We don't have a previously set formatter
            None => {
                let mut formatter = Formatter::new(&self.writer);
                print(formatter, record);

                *tl_buf = Some(formatter);
            }
        }
        // There's already an active borrow of the buffer
        Err(_) => {
            print(&mut Formatter::new(&self.writer), record);
        }
    }
}).is_ok();

if !printed {
    print(&mut Formatter::new(&self.writer), record);
}

What do you think?

Sounds good, I'll split that out


docs: fix typo in README.md

1 char PRs a speciality 😉

Let me run the tests on that one xD
No really, thanks for reading the README :)


how do you create a .fit workout

As the code currently enables uploading workouts to the watch I wondered how people did to generate such a workout.
Let's say for instance I want a workout where I run 30' between 12 and 13km/h then I do 10*100m at 17km/h with a 20'' pause :
I know how to create it on the Garmin website, however I didn't see a way to save it as a .fit file then upload it to the watch.
I tried the Garmin Communicator "fake" plugin but couldn't make it work.
thanks for your help

ok ... rather old thread here, but anyways ... regarding the initial question is there any tool already available that could be used to create a workout and save as fit file? that is something that could work on the commandline?

@lefty01 I'm not aware of any command line tools. As I suggested you could of course make your own by reading up on FIT at http://www.thisisant.com/resources/fit. Just need to get through a fair bit of specifications and read up on the workout profile, but yeah, doable.

Possibly my comment on Issue #139 helps here too.


feat(rust): establish a secure channel to project's authority when waiting for project to be ready

@mergifyio rebase

@polvorin I'm not sure if this is still needed, but I guess it wouldn't hurt to have this extra check.

@adrianbenavides @polvorin is this still needed? Would that help with the timeouts that were recently discussed?

@CAOakleyII is working on an updated version of this, so I'm closing this PR.


Callback functions in browser.wait may want browser.ignoreSynchronization = true

A few people have run into problems around synchronization and browser.wait.  For instance, if you have some element #elem that appears in 2 seconds and then disappears 5 seconds later, and you write
browser.wait(protractor.ExpectedConditions.presenceOf(by.id('#elem')), 100);

Then your script will hang because ExpectedConditions waits for all timeouts to be resolved, which means that you'll wait until after the element disappears before the first check happens.  The solution here would be to do something like:
browser.wait(function() {
  browser.ignoreSynchronization = true;
  var ret = protractor.ExpectedConditions.presenceOf(by.id('#elem'))();
  browser.ignoreSynchronization = false;
  return ret;
}, 100);

Which is ugly but works.
We're not interested in changing the default behavior of browser.wait to automatically disable synchronization in callbacks, since some people want synchronization and turning it off would be confusing.  We're open to suggestions if a lot of people are having this problem though.

I think this will just go away when ignoreSynchronization API is changed and converted into a method call with blocking proxy. The really confusing bit is that ignoreSynchronization is changed synchronously, but the commands inside browser.wait execute later (so they use the value of browser.ignoreSynchronization from the end of the test.
I don't think this is worth spending a ton of time on before blocking proxy.

Something is still wrong. With Protractor 5.1, I have code like this:
// Gonna navigate away for OAuth login, disable synchronization
browser.ignoreSynchronization = true;
element(by.css('.sign-in-button')).click();

// Wait for the OAuth login page
browser.wait(ExpectedConditions.visibilityOf(element(by.id('Email'))));

It crashes since it cannot find Angular on the page while handling the wait.
Changing this code like so:
browser.ignoreSynchronization = true;
element(by.css('.sign-in-button')).click();

browser.wait(
      () => {
        console.log('WELL?', browser.ignoreSynchronization);
        browser.ignoreSynchronization = true;
        return ExpectedConditions.visibilityOf(element(by.id('Email')));
      }
      , 10000);

... I can see that "false" is printed to the console. Re-setting that to true makes the test proceed without an error.


boolean support for MatchQuery

There was no support for creating a match query for boolean fields.
Elasticsearch documentation does support boolean fields:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html#match-field-params

Commenting to this merge-request as an attempt to reopen it.


npm run docs:jsdoc fails

I cannot run npm run docs:jsdoc, this fails on a weird error.
$ npm run docs:jsdoc

><EMAIL_ADDRESS>docs:jsdoc /home/tim/local/www/algolia/javascript/instantsearch.js
> babel-node ./scripts/docs/gen-widget-doc.js

events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: /home/tim/local/www/algolia/javascript/instantsearch.js/node_modules/jsdoc-parse/node_modules/jsdoc-75lb/lib/jsdoc/src/astnode.js:214
                var key = prop.key.name;
                                  ^

TypeError: Cannot read property 'name' of undefined

If, in src/lib/InstantSearch.js, I remove line 68 (this.searchParameters = {...searchParameters, index: indexName};), then it works again... I have no idea what is going on here.

cc maybe @bobylito knows

Oh yes, makes sense. I'll update.

Handling this one

Thanks. I'm curious :)

So the real fix is here: https://github.com/jsdoc3/jsdoc/pull/1141
And waiting for https://github.com/jsdoc2md/jsdoc-to-markdown/issues/61#issuecomment-169064903 answer


feat(map_based_prediction): enable create prediction path to adjacent lanelet

Description

The previous notation could not correctly predict LC on some maps because it could not produce a Prediction Path for adjacent unconnected lanes.
To avoid the above problem, we changed the notation so that the Prediction Path is also shown for adjacent connected lanes.
Note that oncoming lanes are not counted as adjacent.
This change is part of the following PR.
https://github.com/autowarefoundation/autoware.universe/pull/3007

Reference

lanelet2 document

lanelet2 issue: https://github.com/fzi-forschungszentrum-informatik/Lanelet2/issues/147

Tests performed

Not applicable.
Tested in psim and lsim.
Effects on system behavior

prediction path will be appeared adjacent left/right lane
see TIER IV INTERNAL TICKET

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@miursh @tkimura4 @purewater0901
this is just a friendly reminder that this PR is not active for more than 1 week.

This PR is included in https://github.com/autowarefoundation/autoware.universe/pull/4353.


Deserializing an array of form items

Hi,
first of all, hope you all had a happy, healthy start to the new year.
I am struggling making forms work. In particular, I have a form that includes a list of items that can be added in the front end using AlpineJS.
In particular, my Askama template looks like this:
<div x-data="{ items: {{ items }} }">
    <form action="/application/workshop/dashboard" method="POST">
        <template x-for="item in items" :key="item">
            <input type="text" x-model="item" name="items[]">
        </template>
        <button type="button" x-on:click="items.push('')">Add</button>
        <button type="submit">Submit</button>
    </form>
</div>

The items template field is simply a Vec<&'a str> that I convert to single-quoted JSON and initial render works beautifully, so does adding a field. In other frameworks I have used, such as Laravel, using the items[] syntax for input names works and deserializes the form into an array.
Using Tide (0.15.0 on rustc 1.49.0 stable), I am getting an error.
My routing code is as follows:
pub async fn post(mut request: Request) -> tide::Result {
    let items: Vec<String> = request.body_form().await?;
    println!("{:?}", items);

    Ok("".into())
}

This unfortunately errors with
tide::log::middleware Client error --> Response sent
    message invalid type: sequence, expected a string
    error_type serde::de::value::Error
    method POST
    path /application/workshop/dashboard
    status 422 - Unprocessable Entity
    duration 21.252018ms

Replacing request.body_form() with request.body_string() results in the server printing "items%5B%5D=test&items%5B%5D=test2", which to me looks like the request is sent and encoded correctly.
Now, how can I make this work? I would rather not add extra JavaScript and POST a JSON object when application/x-www-form-urlencoded should work for this problem.
Is this something that serde just does not support or am I being blind with something?
Cheers and thank y'all

Okay, my original question was kinda stupid, so here is the updated one:
#[derive(Debug, Deserialize)]
pub struct RequestBody {
    items: Vec<String>,
}

[...]
    let body: RequestBody = request.body_form().await?;
    println!("{:?}", body);
[...]

results in
tide::log::middleware Client error --> Response sent
    message missing field `items`
    error_type serde::de::value::Error

I am using serde_urlencoded version 0.7.0.
It seems that items[] is not recognized by serde as the items field?
If this is an issue more related to serde than tide you can close this and I will post over there.

Okay, my original question was kinda stupid, so here is the updated one:
#[derive(Debug, Deserialize)]
pub struct RequestBody {
    items: Vec<String>,
}

[...]
    let body: RequestBody = request.body_form().await?;
    println!("{:?}", body);
[...]

results in
tide::log::middleware Client error --> Response sent
    message missing field `items`
    error_type serde::de::value::Error

I am using serde_urlencoded version 0.7.0.
It seems that items[] is not recognized by serde as the items field?
If this is an issue more related to serde than tide you can close this and I will post over there.

@cschmatzler Can you report this to https://github.com/nox/serde_urlencoded? This is almost certainly it's issue and not Tide's.

@cschmatzler Can you report this to https://github.com/nox/serde_urlencoded? This is almost certainly it's issue and not Tide's.

Closing here, we can re-open if it is indeed an issue on our end.

Closing here, we can re-open if it is indeed an issue on our end.

Here is a minimal tide-less reproduction:
#[derive(Debug, serde::Deserialize)]
pub struct RequestBody {
    items: Vec<String>,
}

pub fn main() {
    let body: RequestBody = serde_urlencoded::from_str("items%5B%5D=test&items%5B%5D=test2").unwrap();

    println!("{:?}", body);
}

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ede239b1ae6f02e6211ea2dbccb0e3dc

Here is a minimal tide-less reproduction:
#[derive(Debug, serde::Deserialize)]
pub struct RequestBody {
    items: Vec<String>,
}

pub fn main() {
    let body: RequestBody = serde_urlencoded::from_str("items%5B%5D=test&items%5B%5D=test2").unwrap();

    println!("{:?}", body);
}

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ede239b1ae6f02e6211ea2dbccb0e3dc


hready_resp

hello, please tell me what meaning have the hready_resp signals, because i did not find it in the ahb or project docs

This is what is referred to as HREADYOUT in the AMBA specs. I use _resp to make the direction clearer (subordinate -> manager) because I find it confusing to have inputs called xxx_out

So, these:

thank you


Add the c-index with IPCW

What does this PR propose?
This PR proposes to add the c-index as defined in [1]. I think this is ready to be reviewed for merging, with some questions/suggestions in the TODO section below.
show maths

where:

and

and

where $M$ is the probability of incidence of the event of interest.

The concordance_index_incidence function is inspired by the concordance_index function in lifelines, with some significant differences:

It computes the above formula, designed for competing risks and IPCW
It accepts truncated times taus
It can use virtually any estimator to compute the IPCW (only KM for now)
It uses increasing probabilities of incidence instead of decreasing survival probabilities

The main advantage of the lifelines design is the use of a balanced tree, leading to a time complexity in $O ( n \times log (n))$ instead of $O(n^2)$ like in scikit-survival concordance_index_ipcw.
To support IPCW, I extended the _BTree class from lifelines.utils.btree.py by adding a weighting count mechanism. I referenced lifelines in hazardous.metrics._btree.py, but I can reference it also in the hazardous.metrics._concordance_index.py file if necessary.
I added an extensive test suite on a few data points, allowing me to check the results manually.
A good effort on documentation has been started by @judithabk6

TODO

[x] Keep improving the documentation
[x] Should we add tests for bigger datasets and compare our results with scikit-survival for the survival case? And with results from a specific r-package dealing with competing risk?
[ ] In the formula of $\hat{W}_{ij, 1}$ (see maths above), I didn't differentiate between $\tilde{T}_i-$ and $\tilde{T}_i$.
[x] Use the Cox IPCW estimator. This depends on first adding Cox to the IPCW estimator (to be done in another PR).
[x] Should we use the tied_tol parameter for ties in predictions?

cc @ogrisel @GaelVaroquaux @juAlberge @glemaitre
[1] Wolbers, M., Blanche, P., Koller, M. T., Witteman, J. C., & Gerds, T. A. (2014). Concordance for prognostic models with competing risks.

The CI for the doc fails because the previous model is missing. This should be fixed when https://github.com/soda-inria/hazardous/pull/53 is merged.

Update on performance
Our implementation is significantly slower than scikit-survival concordance_index_ipcw. This is due to the weight computing (the IPCWs) inside the BalancedTree, which lifelines doesn't perform.
code benchmark
import numpy as np
import pandas as pd
from time import time
from lifelines import CoxPHFitter
from lifelines.datasets import load_kidney_transplant
from sklearn.model_selection import train_test_split

from hazardous.metrics._concordance_index import _concordance_index_incidence_report

df = load_kidney_transplant()

# make the dataset 100x times longer for benchmarking purposes
df = pd.concat([df] * 100, axis=0)

df_train, df_test = train_test_split(df, stratify=df["death"])
cox = CoxPHFitter().fit(df_train, duration_col="time", event_col="death")

t_min, t_max = df["time"].min(), df["time"].max()
time_grid = np.linspace(t_min, t_max, 20)
y_pred = 1 - cox.predict_survival_function(df_test, times=time_grid).T.to_numpy()

y_train = df_train[["death", "time"]].rename(columns=dict(
    death="event", time="duration"
))
y_test = df_test[["death", "time"]].rename(columns=dict(
    death="event", time="duration"
))

tic = time()
result = _concordance_index_incidence_report(
    y_test=y_test,
    y_pred=y_pred,
    time_grid=time_grid,
    taus=None,
    y_train=y_train,
)
print(f"our implementation: {time() - tic:.2f}s")

# scikit-survival
from sksurv.metrics import concordance_index_ipcw

def make_recarray(y):
    event, duration = y["event"].values, y["duration"].values
    return np.array(
        [(event[i], duration[i]) for i in range(len(event))],
        dtype=[("e", bool), ("t", float)],
    )

tic = time()
concordance_index_ipcw(
    make_recarray(y_train),
    make_recarray(y_test),
    y_pred[:, -1],
    tau=None,
)
print(f"scikit-survival: {time() - tic:.2f}s")

# lifelines
from lifelines.utils import concordance_index

concordance_index(
    event_times=y_test["duration"],
    predicted_scores=1 - y_pred[:, -1],
    event_observed=y_test["event"],
)
print(f"lifelines: {time() - tic:.2f}s")

On a dataset with 20k rows:
our implementation: 18.10s
scikit-survival: 0.24s
lifelines: 0.27s

The flamegraph is quite clear about the culprit, being the list comprehension that computes the IPCW weight for each pair. When I remove the IPCWs, the performance becomes similar to lifelines.
Speedscope views of our implementation

I tried to fix this performance issue using numba @jitclass on the BTree, but it is still very slow. I put the numba BTree on a separate draft branch for reference.
Conclusion
I only see two ways forward:

Either my computation of the IPCW in the BTree is flawed, and we can fix the performance issue
or the BTree is not adapted for our metric and we have to look at a non-optimized pairwise implementation like scikit-survival with a $O(n^2)$ instead of $n \log (n)$ time complexity. This would simplify the code base though.

Pinged by @Vincent-Maladiere, but have no time for it.
Random pile of pieces of advice:

find if a better algorithm exist first
profile to see what's the bottleneck
see if tree-based structures can be used from another library (e.g. pydatastructures
use another language (like Cython or C++) to implement the costly algorithmic part

No, don't use compiled languages, please. It will make release and distribution much harder.
On Jul 26, 2024, 13:46, at 13:46, Julien Jerphanion @.***> wrote:

Pinged by @Vincent-Maladiere, but have no time for it.
Random pile of pieces of advice:

find if a better algorithm exist first
profile to see what's the bottleneck
see if tree-based structures can be used from another library (e.g.
pydatastructures
use another language (like Cython or C++) to implement the costly
algorithmic part

--
Reply to this email directly or view it on GitHub:
https://github.com/soda-inria/hazardous/pull/71#issuecomment-2252581805
You are receiving this because you were mentioned.
Message ID: @.***>

After giving it some more thought, there is room for improvement with the current balanced tree design :

When we don't use an IPCW estimator (like lifelines):
$$W_{ij,1} = W_{ij,2} = 1$$
When we use a non-conditional IPCW estimator (Kaplan-Meier, like scikit-survival):
$$W_{ij,1} = W_{i,1} = \hat{G}(T_i) ^ 2 \space \mathrm{and} \space W_{ij,2} = \hat{G}(T_i) \hat{G}(T_j) $$

However, when we use a conditional IPCW estimator (like Cox or SurvivalBoost), we have:
$$W_{ij,1} = \hat{G}(T_i | X_i) \hat{G}(T_i | X_j) \space \mathrm{and} \space W_{ij,2} = \hat{G}(T_i | X_i) \hat{G}(T_j | X_j)$$
In this case, the balanced tree is not adapted anymore, and we should use the naive implementation.
So, to make things simpler, I suggest we only implement the naive version for now, and eventually return to the balanced tree later, for the non-conditional and unweighted cases.
WDYT?

Sounds good to me. We can always iterate if needed
On Jul 26, 2024, 18:38, at 18:38, Vincent M @.***> wrote:

After giving it some more thought, there is room for improvement with
the current balanced tree design :

When we don't use an IPCW estimator (like lifelines):
$$W_{ij,1} = W_{ij,2} = 1$$
When we use a non-conditional IPCW estimator (Kaplan-Meier, like
scikit-survival):
$$W_{ij,1} = W_{i,1} = \hat{G}(T_i) ^ 2 \space \mathrm{and} \space
W_{ij,2} = \hat{G}(T_i) \hat{G}(T_j) $$

However, when we use a conditional IPCW estimator (like Cox or
SurvivalBoost), we have:
$$W_{ij,1} = \hat{G}(T_i | X_i) \hat{G}(T_i | X_j) \space \mathrm{and}
\space W_{ij,2} = \hat{G}(T_i | X_i) \hat{G}(T_j | X_j)$$
In this case, the balanced tree is not adapted anymore, and we should
use the naive implementation.
So, to make things simpler, I suggest we only implement the naive
version for now, and eventually return to the balanced tree later,
for the non-conditional and unweighted cases.
WDYT?
--
Reply to this email directly or view it on GitHub:
https://github.com/soda-inria/hazardous/pull/71#issuecomment-2253113408
You are receiving this because you were mentioned.
Message ID: @.***>

Here is the revised version. When used on a survival dataset, it gives identical results to scikit-survival, with a slightly better time complexity.

This PR is now ready to be reviewed :)

It could be nice to add the explicit math formula in the docstring for the API reference as was done for the Brier score.

Thank you very much for this thorough review @antoinebaker! The two main important topics to address are:

The accounting of ties in the C-index, which deviates from [1]
Passing an IPCW estimator or a string in the case of the KM

@Vincent-Maladiere For the difference is G(t-) = P(C >= t) and G(t) = P(C > t).
It only matters when T is discrete

@Vincent-Maladiere For the difference is G(t-) = P(C >= t) and G(t) = P(C > t). It only matters when T is discrete

Yes, but the question is should we stay consistent with [1], where we have theoretical evidence that we're doing the right thing, or derive our own method?

So, after discussing this with @judithabk6, the paper doesn't mention the ties because they are implementation details. The ties are present in the R version of this metric: https://github.com/cran/pec/blob/fb32746f6119450e8435deb52aa8583a91b05ba5/src/ccr.c#L105
So, I'll make sure to update the documentation accordingly.

Let's also add the C-index in an example :)

I'm still a bit confused about the tied in time events, I think there are some inconsistencies in the docstrings.
Pairs of type A are according to

the math formula for $\tilde{A}_{ij}$ :  only $T_i < T_j$
the docstring of concordance_index_incidence, as well as the docstring of n_pairs_a in _concordance_index_incidence_report : $T_i < T_j$ or $T_i = T_j, D_j = 0$
the  docstring of n_ties_times_a in _concordance_index_incidence_report : possibly $T_i = T_j, D_j = 1$

I guess 2. is the correct one ? If so, what is the use of n_ties_times_a (it doesn't seem to appear in the c-index computation) ?

The example is nice. The C-index (mathematical formulation) should be replaced by the C-index in time. Should we add also a version with IPWC ? [but maybe the example will be a bit confusing, with two unrelated KM estimators, one as a baseline to compare with SurvivalBoost, the other as IPWC to debias the C-index in time]


big crates are slow to use with new archive-storage

For crates with many files we have a performance regression.
Example is stm32ral, which has 1.2 Million files in the archives.
Currently we are reading the whole index from disk for every file-exists or get-from-archive request, which might take too much time.

Current status for 99th percentile:

The deploy of https://github.com/rust-lang/docs.rs/pull/1541 happened at 13:38 and the spike at 14:05 is me testing https://docs.rs/stm32ral/0.7.0/stm32ral/.

After:

#2068
#2154
migrating the old indexes this week (01.08./02.08.)

this is solved.
#2179 will drop the old code


Add subject to listen callback

Please, Can you add this little change. Thank you very much

@eportico Hi, thanks for the input. I assume this is useful for wildcard subscriptions, right?


add rank warning

What does this PR do?
Fixes # (issue).
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

now it is implemented only for model, but shall we doe rank warning also for callbacks?

i   think it  needs to  be a  standalone  package.
from pl import warnings

warnings.rank_zero_warn()

don't make it so we have to instantiate  an instance... also instance doesn't make sense since we just need to call it  from wherever.

Also, replace  all the  warnings across the  project with this.

but the rank is depending on the backend so you cannot use a global rank value... can you?

warnings.rank_zero_warn()

but this has to have an extra parameter of the actual rank...
so we can have warning called from where ever but not with rank specific

warnings inside lightning are ALL rank specific.

Hello @Borda! Thanks for updating this PR.

In the file pytorch_lightning/utilities/__init__.py:

Line 3:64: W292 no newline at end of file


Does this package support nip06 seed derivation?

I see in the docs that nip06 is listed as supported, but I can't find the API. Is there an API to derive a private key from a nmenonic seed?

I am also not seeing it in this package, but you can use this: https://pub.dev/packages/nip06.
It does just that standalone and nothing more 👍


Enable branch protections

No force pushing to main. Nobody should have the ability to push directly to main, only approved PRs should be able to make modifications to the main branch.

Branch protections have been added to the main branch.


Figure431

Announcement for figure  4.3.1
cc @pwalczysko @will-moore

Closing this PR
As indicated in general, I am in favour of stopping announcing the release of figure on www.
Figure is only one of our numerous apps.
This is similar to redirect figure.o.org to guide-figure


tx-generator: reusable API and library

First step: we use a new namespace Cardano.TxGenerator inside the existing project for implementing a minimal functioning example of isolated Tx generation.

This needs to be updated and rebased on https://github.com/input-output-hk/cardano-node/pull/4231

Branch tx-generator/pure-example has been incorporated into #4231 and merged to master.
Work on this issue will be tracked on branch tx-generator/4174-reusable-api-and-library from now on.

Continued in PR #4460

Closing this. Please reopen if this is still relevant.


add PrimeGame solution for CodeChef

Solve issue #2

Hey thanks for your contribution ❗. Keep up the good job and leave a star if you liked the repo .
Happy hacking 😉


Stop trying to tokenize regexes to avoid confusing bug caused by division appearing in a file before a

Stop trying to tokenize regexes to avoid confusing bug with division
The right way for this addon to work is via babel or something with a
proper grammar and parser. However, our current implementation relies on
tokenization via regular expression, and the attempt to tokenize regular
expressions in code causes bugs in code that does division with a slash
character. This commit removes the "/" from the tokenization and trades
the problem of division before a template tag breaking template parsing
for the much less likely problem of improperly detecting a template tag
inside a regex.
Here's an example of some code with a template that will now fail to parse:
const myregex = /<template>/;
<template>Hello!</template>

And here is what previously failed but will work after this commit:
const divide = () => 4 / 2;
<template>Hello!</template>

Fixes #52 and #53

oh hey, I didn't see this :upside_down_face:
I made one, too https://github.com/ember-template-imports/ember-template-imports/pull/53

I approved CI run, but it looks like we need a rebase since I landed the other PR first! Also, after a rebase, I think CI should Just Work™ now since you’ve had a PR land on the repo.

Thanks, @chriskrycho. Should be all set now.

Thank you!


mixins-before-declarations Errors

Hello,
When i used you sass lint, i found this error which i found little bit confused, normally it's shouldn't cause this error.
Could you please explain to me the problem ?
Thanks
.area-current {
  $active: #00acac;
  $background: #2d353c;

  @include area-menu($active, $background);
}

.area-new {
  $active: #348fe2;
  $background: #2e475d;

  @include area-menu($active, $background);
}

.area-disappeared {
  $active: #727cb6;
  $background: #424a61;

  @include area-menu($active, $background);
}

botify-report/sass/_themes.scss
   96:3  error  Mixins should come before declarations  mixins-before-declarations
  103:3  error  Mixins should come before declarations  mixins-before-declarations
  110:3  error  Mixins should come before declarations  mixins-before-declarations

I'm gonna label this is as a bug but I think it needs further discussion too. Is there any reason you are declaring variabled in each block like that? There's not really any benefit to using them in that code.
Technically a variable declaration is classed as a declaration and so should come after a mixin, now obviously in the case you have this wouldn't be practical. Is there a lot more going on that Is using those variables within that block?

No. Should only cause an error if it's a propert being set in my opinion.

I'm gonna label this is as a bug but I think it needs further discussion too. Is there any reason you are declaring variables in each block like that? There's not really any benefit to using them in that code.

Variables defined within a block are useful as they are scoped to that block.
I agree with @bgriffith: this should only be an error when a mixin appears before a property or a nested selector by default.


Fix mode for second order

Codecov Report
Attention: Patch coverage is 0% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 96.73%. Comparing base (023a8ea) to head (1dc19d6).

Files
Patch %
Lines

...ntiationInterface/src/second_order/second_order.jl
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #205      +/-   ##
==========================================
+ Coverage   96.39%   96.73%   +0.33%
==========================================
  Files          65       50      -15
  Lines        3553     1992    -1561
==========================================
- Hits         3425     1927    -1498
+ Misses        128       65      -63

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


Update README

How to build with the dune instead of esy
New features and changes against the decco

done 70e90a568e566868da423db5def6630696e7fb01, 4e0dc9d908b5ca61abc51de395b9740705ce74c1


look into using namespaces instead of bundles

https://github.com/evmos/evmosjs/blob/78f4992555812b44cce3897bf8abc6debab57cd0/packages/proto/src/proto/evmos/erc20/v1/tx.ts#L10
export namespace evmos.erc20.v1 {
    ...

[ ] how does this affect bundling?

Aren't namespaces considered a legacy way to organize js vs creating separate files?


fix typo in command-line help

Hi! I've been using ruplacer for a bit now, and it's excellent. I noticed a small typo in the command line help, so I figured I'd just make a PR to fix it. Feel free to fix it manually and close this if that's easier.

Codecov Report

Merging #36 into master will increase coverage by 1.87%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #36      +/-   ##
==========================================
+ Coverage   71.75%   73.62%   +1.87%
==========================================
  Files           8        8
  Lines         354      345       -9
==========================================
  Hits          254      254
+ Misses        100       91       -9

Impacted Files
Coverage Δ

src/main.rs
0% <ø> (ø)
: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 ccfa841...dd1f840. Read the comment docs.

Thanks for the feedback :)


Success and Timeout notices are missing in Loans page

User should have some kind of alert when transaction was successful or if it was a timeout.

Hello @danielsimao, could you provide more information on this issue here? Do you have some recommended alerts in mind?
I am thinking we could use the react-toastify library to setup an alert. I will work on this.