TLDR: Use juliaup

Actually, what is the target audience of this blog? At least as the advice towards installation of Julia is concerned, it is obviously primarily new users. Who don't need all the the options provided by juliaup - and many power users do not need either.
On a Mac I would - no, i do download it from the official site, perform the standard few clicks - and use Julia in my VSCode. For update, the procedure is the same. That cannot be much simpler. On Windows, it is not much more difficult.
Therefore I suggest changing the wording towards: "Though standard Julia installation on Windows and Mac is easy, installation using juliaup provides a number of advantages..."

I'm not sure I agree. The reason we recommend juliaup is because it allows you to completely forget about paths, which the standard platform-specific instructions cannot do

juliaup is also helpful because it allows package developers to locally run package tests on different Julia versions, e.g. by starting a julia +1.6 session:
https://github.com/JuliaLang/juliaup#using-installed-julia-versions

An experienced user doesn't really need much advice on installing Julia.
A novice doesn't need all the options of juliaup. Please keep in mind your target audience is not you! You are offering a great solution to the problems they do not have (yet).
As for paths, on Windows standard installation, I just put a tick into the box "add to path", and that's it.
On Mac, I do nothing about paths at all. Well, Julia is not in the path (just checked), but VS Code is OK with it, and so am I.

Do not install Julia from the official downloads page

is the very first recommendation to the reader of your blog - maybe one who is undecided yet about testing Julia. Are you sure this "do not use official way!" it is the best advertisement for Julia and Juliahub you can offer?
curl -fsSL https://install.julialang.org | sh is really not something I'd like to do as a Mac user (I'm one for 30 years, believe me!). I can do it, I even understand the command - but I don't like it, it is dissonant to the Mac esthetics.
On Windows, the recommended juliaup installation is from the Windows Store. Now, it is blocked on my work computer. The alternative installer is "experimental".
Please note: I do not suggest you not recommending juliaup, I only suggest to recommend it as a option, not as a must.

I agree with your remark on the optics of discarding the official download on the very first line. I'll rephrase the beginning of the paragraph


Responsiveness

Hey,
I was looking to make it responsive, and Chartjs has some support for this option as part of the global chart configuration option. Do you think you could extend these options to this ember adaptation for chartsjs?
Alternatively can you guide me through how it could be implemented? I'd be happy to do the job and create a pull request.
thanks.

You can do this right now by passing an options object to the component:
{{ember-chart type=CHARTTYPE data=CHARTDATA options=CHARTOPTIONS}}

You can also set it globally:
Chart.defaults.global.responsive = true;

Thanks I didn't see that.
:)

Hi,
I did Chart.defaults.global.responsive = true;
and also tried passing options but my charts are still not responsive, I don't know where to look next.
I am using Ember 1.13.9


chore(deps): update common-dev-assets digest to f4bc01f

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
7d9cc29 -> f4bc01f

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add "id" field to select template.

Added an 'id' to the select field to allow for htmx dynamic content using the id as a target.

Merged,


Possible Retain Cycle

Hi,correct me if i'm wrong but there is a possible retain cycle. Datasource is declared as a strong reference.
public var datasource: EZSwipeControllerDataSource?

From your example you expect users to do next:
class MySwipeVC: EZSwipeController {
    override func setupView() {
        datasource = self
    }
}

in this case it'll prevent the controller to be released. Maybe to avoid it probably it's better to define it as weak:
public weak var datasource: EZSwipeControllerDataSource?

I noticed it in the one of the projects i'm working on. I can make a PR if it's needed

Yes please make a pr


Remove nasm and yasm from base-devel

Shouldn't nasm and yasm packages be moved from base-devel to msys2-devel and mingw-w64-{i686,x86_64}-{y,n}asm be added to mingw-w64-{i686,x86_64}-toolchain? Current situation seems inconsistent.

We don't have msys2-devel group. And why we need add mingw versions of nam/yasm to toolchain group?

If I understand the strategy behind the groups correctly, base-devel only contains tools that are common to both msys2 and mingw development, so since there are both msys2 and mingw versions of nasm/yasm available, they should go to the respective toolchain groups instead.
Alternatively, if it's okay to have them in makedepends, then just removing them from base-devel would probably be the right thing to do.


New Super Mario Bros & Newer Super Mario Bros HD buttons.

They where missing some HD buttons, so i added them.

The textures are only needed as space holders, so it is intentional.
only the ui elements on the multi textures are needed under normal circumstances in HQ.


Any plans to upgrade AFNetworking to 3.0?

Do you have any plans to upgrade Lock's AFNetworking dependency to 3.0? Lock is currently dependent on 2.5. We would like to use 3.0 in our project but we can't because of the conflict. There are possible workarounds but they are painful. Before we embark on a workaround we would like to know your plans for this. Thanks you.

@artisanglobal if everything goes according to schedule, we'll release a new version this week with that change. In master it's already using 3.x.

Awesome, thanks for the quick response. Cheers!

@artisanglobal version 1.23.1 now uses AF 3.0


Individual minimum charge current

Is your feature request related to a problem? Please describe.
The evcc leads controlling issues, because it sets the charge current while assuming that the powerfactor (german: Leistungsfaktor) ist 1.0. But with my setting (go-e Charger + Renault Zoe) I observed that the powerfacor at 6A ist only 0.07 and at 7A only 0.45 and at 8A and more it's >0.9.

This leads to the following issus in the "pv" or "min+pv" modus

--> We see pv-modus with evcc switching between
6A / 7A / 8A
with a power factor of
0.07 / 0.45 / 0.95
that result in
0.3 / 2.2 / 5.2 kW
of charge power. With a power factor of 1 it would be
4.1 / 4.8 / 5.5 kW
So in the end because of the changing powerfactor it is hard / problematic for evcc to adapt to the surplus pv power.
Describe the solution you'd like
Is there already way to set the minimum charge current to 7A or 8A in the yaml file? If not, this would "solve" my issue (while of course not eliminate the "bad" powerfactors at 6A and 7A. I will also ask the manufacturer of go-e Charger what's the reason for the low power factors)
Describe alternatives you've considered
I have no other idea :/

Switch to 1-phase charging and your problems are gone.
Renault ZOE does not really support 3-phase charging which such low currents. Even if it starts to charge it will randomly stop charging after a while in 3P mode and signaled currents <= 10A.

You can set min as max current: https://github.com/andig/evcc/blob/master/evcc.dist.yaml#L226

I will also ask the manufacturer of go-e Charger what's the reason for the low power factors)

Imho that is a specific property for the Zoe. It seems advisable though- especially if PV is small compared to charger power- to rather go for 1p charging with higher currents than to charge with 3p at minimum current.

Switch to 1-phase charging and your problems are gone.
Renault ZOE does not really support 3-phase charging with such low currents. Even if it starts to charge it will randomly stop charging after a while in 3P mode and signaled currents <= 10A.
This is a well-known issue on Renault ZOE cars.
Even the 3P charge mode in general is a very bad idea for typical home PV installations (<=10 kW) as the mimimum power (4,14 kW) and the further power steps (0,69 kW) are to big to follow the PV power production and the house power consumtion smoothly.

We have a 27 kWp PV system. Therefore I will first try to stay on 3 phase charging.

You will see that ZOE stops charging randomly using 3P and such low current.

You will see that ZOE stops charging randomly using 3P and such low current.

Hmm, okay. I will watch this (with minimum current = 9A) and report.
Maybe you could give me another hint. I tried the 1-phase charging (changed setting in the yaml file) but the car still gets power over 3-phases. Do I have to use another cable or how can I force the ZOE to only charge over 1-phase?

The config setting is only indicative in case no charge meter is installed. You will have to get phases 2 and 3 physically deactivated in your electrical installation or change your charger.

Only to sum it up and to close this issue from my side: I will stay at 3-phase charging, because sometimes we need the full 22 kW and so i don't want to work on the electrical installation to deactivate phase 2 and 3.
With the Setting of 9A as minimum current the system seems to be stable. Here you see the last two hours of charging with "min+pv" in evcc.

Thanks to @andig for the great tool and @premultiply for the feedback to the charging behavior of the Zoe.
There is only one issue left: All values in the evcc panel are correct, but not the charged energy ("geladen"). It shows 2.7 kWh but it must me somethinge like 10 times for, approx. 27 kWh.

Can I fix this?

Can I fix this?

What's your setup- do you have a charge meter installed?

Can I fix this?

What's your setup- do you have a charge meter installed?

meters:

name: grid
name: pv
==> both http with discovergy API
==> all power values in the evcc dahsboard are correct

chargers:

name: go-e
==> no additional other meters
==> go-e App show 30.05 kWh where evcc shows 3.0 kWh

Ist behoben: https://github.com/andig/evcc/pull/188

@ttjaden meldest Du Dich bitte mal unter<EMAIL_ADDRESS>


Embedding functions are incompatible with deepcopy

Hi,
I have a piece of code where I'm saving the best model during training. The model includes the projection embedding from torchhd.
RuntimeError: The default implementation of __deepcopy__() for non-wrapper subclasses only works for subclass types that implement new_empty() and for which that function returns another instance of the same subclass. You should either properly implement new_empty() for your subclass or override __deepcopy__() if it is intended behavior for new_empty() to return an instance of a different type.
This error also persists with all other embeddings in general. I need this to work urgently and any help with fixing this would be appreciated.

Hi, thanks for opening this issue. Could you provide a minimal example to recreate the error?
I don’t have a lot of time this week but I will see if I can look into it.

I tested deepcopy and it works as expected. Could you please provide more information about your code to help with resolving the issue.

import torch, torchhd, copy

class Model(torch.nn.Module):
    def __init__(self):
        super().__init__()
        self.emb = torchhd.embeddings.Projection(3, 4)

model = Model()
print(model.emb.weight)
# Parameter containing:
# tensor([[ 0.5032,  0.0142, -0.8640],
#         [ 0.4262, -0.3184,  0.8467],
#         [ 0.7050, -0.3374,  0.6238],
#         [ 0.6886, -0.6895,  0.2245]])

model_copy = copy.deepcopy(model)
print(model_copy.emb.weigth)
# Parameter containing:
# tensor([[ 0.5032,  0.0142, -0.8640],
#         [ 0.4262, -0.3184,  0.8467],
#         [ 0.7050, -0.3374,  0.6238],
#         [ 0.6886, -0.6895,  0.2245]])

model_copy.emb.weight[0, :] = 0
print(model_copy.emb.weight)
# Parameter containing:
# tensor([[ 0.0000,  0.0000,  0.0000],
#         [ 0.4262, -0.3184,  0.8467],
#         [ 0.7050, -0.3374,  0.6238],
#         [ 0.6886, -0.6895,  0.2245]])

print(model.emb.weight)
# Parameter containing:
# tensor([[ 0.5032,  0.0142, -0.8640],
#         [ 0.4262, -0.3184,  0.8467],
#         [ 0.7050, -0.3374,  0.6238],
#         [ 0.6886, -0.6895,  0.2245]])

Closed because of inactivity


Fixes #5879: Layout part OnIndexing fails when called in a background task

Fixes #5879
And maybe other issues, when the GetContext(httpContext) method, the one that has an HttpContextBase parameter, is called in the context of a BackgroundTask.

Same kind of issue in DefaultCacheStorageProvider.cs
When a content item is published it is removed from the httpcontext cache. But, through the Publish Later command, this is done in the context of a backgroud task...


Incorporate faster sql bulk copy uploads to Write-DbaDbTableData

Summary of new feature

I use Write-DbaDbTableData to load CSVs up to our Azure databases. And it about an hour to load up a 1million+ row csv to upload. Is it possible to add a streamReader option to this function to read the CSV or just a faster way to read and upload?

Proposed technical details (if applicable)

e.g. Blog post reference that shows example code or functionality

Latest version of dbatools as of writing

1.0.112

That would not be a viable option since the write command is not responsible for reading in files such as CSV. The data is brought into the session and then piped into the command. There is no data necessarily to "stream" from that perspective.
For your exact use case, I would recommend looking at Import-DbaCsv as that is coded to use the stream reader class for directly pulling the CSV files.

I will close this for now, but you can reopen it if you have further questions.


Expose jest-matchers extend API.

We need to expose our addMatchers API as expect.extend. See https://github.com/facebook/jest/pull/1298 it's already there, just need to hook it up.
After that we need to overwrite jasmine.addMatchers to route to jest's matchers in a compatible way.
cc @blainekasten @dmitriiabramov

@cpojer does this still need to be fixed? Mind if I take a stab at it?

Please go for it!

I just returned to work from paternity leave! @kaushlakers if you find yourself too busy or something to finish, let me know as I'll need this soon!

@blainekasten I'm a bit busy, and I'm super new here. So it might take me a few days to get it done anyway. If this is a critical block for you, then please go ahead. 😄

But if not, then I'd like to give it a go.

I'll ping here if I get time to start on it. I'm still a few days away from needing it. If you get here before I post it, then code away! Thanks a lot

@kaushlakers I started working on it. I needed it for something in jest-enzyme

@blainekasten no worries. I'll find something else


editor crashes when tapped with apple pencil

requested by @MehrotraRahul

Tapping the editor successfully places the cursor and tapping a checkbox successfully toggles the checkbox. However, dragging the pencil at all (it's incredibly sensitive) renders a drawn line on the screen and reproduces this crash. The crash occurs when 'unwrapping' a nil UITextRange in iOSMTK here


Alignment Issues and Footer Design Improvements Needed

Is your feature request related to a problem? Please describe.
Description:
The alignment of the quick links options is not correct, and the footer design is overly cluttered with too many links. This detracts from the professional appearance of the website.
Describe the solution you'd like.
Expected Behavior:

Quick links should be properly aligned for a clean and organized look.
The footer should present links in a more streamlined manner, enhancing usability and aesthetics.

Benefits of Improvements:

Improved User Experience: Proper alignment and organization will enhance navigation, making it easier for users to find
information.
Professional Appearance: A streamlined footer will elevate the overall look of the website, reinforcing its credibility.
Enhanced Usability: By categorizing links and reducing clutter, users can more easily identify relevant information.

Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

@khushigupta86 sure go ahead

Make sure to join the discord server for further communication
Don't forget to star the repository
Complete the task in next 2 days and kindly mention your issue # in your pr like:
Closes #IssueNumber

Note: the level of the issue may change based on the quality of the PR code


Changes to add bfloat16 support for image rotation

These are changes to add bfloat16 for image rotation. With mixed bfloat16 precision, models that use image transformation would perform much better with image rotation in bfloat16.

Hi @jojivk73 Can you please check @cantonios's comments and keep us posted ? Thank you!

@gbaned @cantonios. Sorry for the delay. I updated the name for testcase.
Thanks


To expand native support, implement VM support for JavaScript Set and WeakSet

The JavaScript Set and WeakSet types are mutable object types which would require special ViewModel support, for the same reasons as arrays do.
This should be implemented as a new type of ViewModel object.

The groundwork for this is done via https://github.com/csf-dev/rxjs-observable-collections


: Can't run bootstrap

Bug
When running npm run bootstrap I get the following error:
  var args = func.toString().match(/function\s.*?\(([^)]*)\)/)[1];
                                                              ^

TypeError: Cannot read property '1' of null

And here is the output from running bootstrap onward:
(3971) >> npm run bootstrap

><EMAIL_ADDRESS>bootstrap /Users/travisbumgarner/Documents/programming/design-system
> lerna bootstrap --hoist

lerna notice cli v3.4.3
lerna info versioning independent
lerna WARN ECYCLE Dependency cycles detected, you should fix these!
lerna WARN ECYCLE @pluralsight/ps-design-system-drawer -> @pluralsight/ps-design-system-row -> @pluralsight/ps-design-system-drawer
lerna WARN ECYCLE @pluralsight/ps-design-system-site -> @pluralsight/ps-design-system-row -> @pluralsight/ps-design-system-drawer -> @pluralsight/ps-design-system-row -><EMAIL_ADDRESS>lerna WARN ECYCLE @pluralsight/ps-design-system-row -> @pluralsight/ps-design-system-drawer -> @pluralsight/ps-design-system-row
lerna WARN ECYCLE @pluralsight/ps-design-system-site -> @pluralsight/ps-design-system-drawer -> @pluralsight/ps-design-system-row -> @pluralsight/ps-design-system-drawer -><EMAIL_ADDRESS>lerna WARN ECYCLE @pluralsight/ps-design-system-table -> @pluralsight/ps-design-system-drawer -> @pluralsight/ps-design-system-row -> @pluralsight/ps-design-system-drawer -><EMAIL_ADDRESS>lerna info Bootstrapping 41 packages
lerna WARN EHOIST_ROOT_VERSION The repository root depends on<EMAIL_ADDRESS>which differs from the more common<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-site" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-errors" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-errors" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-switch" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-drawer" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "packages-api" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-link" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "@pluralsight/ps-design-system-site" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna WARN EHOIST_PKG_VERSION "packages-api" package depends on<EMAIL_ADDRESS>which differs from the hoisted<EMAIL_ADDRESS>lerna info Installing external dependencies
lerna info hoist Installing hoisted dependencies into root
lerna info hoist Pruning hoisted dependencies
lerna info hoist Finished pruning hoisted dependencies
lerna info hoist Finished bootstrapping root
lerna info Symlinking packages and binaries
lerna info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>lerna info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>
><EMAIL_ADDRESS>prepublish /Users/travisbumgarner/Documents/programming/design-system/packages/storybook-addon-center
> npm run build

><EMAIL_ADDRESS>build /Users/travisbumgarner/Documents/programming/design-system/packages/storybook-addon-center
> babel src --out-dir dist --ignore spec.js

src/index.js -> dist/index.js

><EMAIL_ADDRESS>prepublish /Users/travisbumgarner/Documents/programming/design-system/packages/theme
> npm run build

><EMAIL_ADDRESS>build /Users/travisbumgarner/Documents/programming/design-system/packages/theme
> babel src --out-dir dist --ignore spec.js --copy-files

src/react/index.js -> dist/react/index.js
src/react/with-theme.js -> dist/react/with-theme.js
src/vars/index.js -> dist/vars/index.js
lerna info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>
><EMAIL_ADDRESS>prepublish /Users/travisbumgarner/Documents/programming/design-system/packages/core
> npm run build

><EMAIL_ADDRESS>build /Users/travisbumgarner/Documents/programming/design-system/packages/core
> node ./build

/Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/utils/args.js:9
  var args = func.toString().match(/function\s.*?\(([^)]*)\)/)[1];
                                                              ^

TypeError: Cannot read property '1' of null
    at module.exports (/Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/utils/args.js:9:63)
    at processExports (/Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/index.js:61:29)
    at processExports (/Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/index.js:82:25)
    at /Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/index.js:137:23
    at Array.forEach (<anonymous>)
    at processExports (/Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/index.js:132:6)
    at module.exports (/Users/travisbumgarner/Documents/programming/design-system/node_modules/promisify-node/index.js:164:10)
/**
    at Object.<anonymous> (/Users/travisbumgarner/Documents/programming/design-system/packages/build/postcss/transform.js:4:12)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `node ./build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/travisbumgarner/.npm/_logs/2018-11-20T22_29_27_109Z-debug.log
lerna info lifecycle<EMAIL_ADDRESS>Failed to exec prepublish script
lerna ERR! lifecycle "prepublish" errored in "@pluralsight/ps-design-system-core", exiting 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>bootstrap: `lerna bootstrap --hoist`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/travisbumgarner/.npm/_logs/2018-11-20T22_29_27_283Z-debug.log

Steps to repro

Clone repo
Run nvm use
Run npm install
Run npm run bootstrap

Environment

OS - MacOS 10.13.6 (Macbook Air personal computer, I also got this on my work computer)

Enhancement Request
Desired behavior
I found this, which works but doesn't seem like the best solution: https://github.com/askmike/gekko/issues/2150#issuecomment-387944721

@TravisBumgarner can you try to completely remove all the node_modules and then try your steps again
npm run clean
rm -rf node_module

Just did a fresh git clone and bootstrap and it seems to be working now. 👍


Add new domain sari-mutiara.ac.id

Add new domain sari-mutiara.ac.id

@alexsibero Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Add space between VSC_BRANCH_ICON and branch name.

FIX bhilburn/powerlevel9k#617

@diraol - Thanks so much for submitting this PR! I apologize it's taken me so long to respond - the last month has been a bit crazy for me.
@diraol @runmad - This issue has actually come up a few times. When I first released P9k, we actually did not have a space, then I added it a little bit ago and it remained for a few releases before enough people complained that I pulled it back out again.
The primary issue with putting the space in the code is that it makes it difficult for those that don't want it to remove it. Going the opposite direction, though, if there is not a space in the code, it's very easy to add one by modifying the VCS_BRANCH_ICON text by appending a space.
If you look at your changeset, for example, with the space built-in, there, there is no way for someone to remove it other than modifying the P9k code directly.
I personally prefer having a space, to be honest, and I would like to settle on a solution that works well for everyone.
@dritter @rjorgenson @docwhat - Curious about your thoughts on this topic.

I think leaving the space out is best. Unicode 9 solves a lot of problems with characters that need double space.

@bhilburn what about adding a new variable just like POWERLEVEL9K_SHORTEN_DELIMITER?
Something like POWERLEVEL9K_VCS_BRANCH_ICON_RSPACE. It can be a 'boolean' variable or just a string, which defaults to "" (empty string) and we can set it to " ".

I think supporting Unicode 9 is better. It automatically makes wide glyphs take two spaces in mono spaced fonts.

@docwhat I do not have any idea what is the necessary effort to support Unicode 9. Any tips on that?
Also, why not supporting the latest release of Unicode (10) instead of (9)?

https://github.com/jquast/wcwidth has some info. As well as iterm2 for Mac.
Basically: emoji can be double width in 9. This makes things interesting if you need to know how wide text is.

Hm, so it's not really clear to me what actually needs to be done in P9k to support UTF-9.
@diraol - So I just put the space back. I actually started receiving e-mails from folks about this, and they raised the good point that, previously,  the default was to have the space. I've returned it back to the old default, and anyone who doesn't want the space can remove it by resetting the icon.


RBAC & Multi Tenancy

RBAC and "Multi-tenant Readiness"

@andrewplummer @kaareal This is ready for final review now

@andrewplummer @kaareal This is ready for final review now

Note: DB roles are now hardcoded. More lightweight

Note: DB roles are now hardcoded. More lightweight


python39Packages.pdfminer: 20220506 -> 20220524

https://github.com/pdfminer/pdfminer.six/releases/tag/20220524
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

You also have to change all references to pdfminer to pdfminer-six so ofborg doesn't complain about the usage of aliases.

Result of nixpkgs-review pr 174426 run on x86_64-linux 1

1 package marked as broken and skipped:

invoice2data

21 packages built:

diffoscope
kmymoney
ocrmypdf (python39Packages.ocrmypdf)
paperless-ngx
pdfminer (python39Packages.pdfminer-six)
python310Packages.extractcode
python310Packages.ocrmypdf
python310Packages.pdfminer-six
python310Packages.pdfx
python310Packages.scancode-toolkit
python310Packages.typecode
python310Packages.weboob
python310Packages.woob
python39Packages.extractcode
python39Packages.pdfx
python39Packages.scancode-toolkit
python39Packages.typecode
python39Packages.weboob
python39Packages.woob
setzer
visidata


TDD / BDD based setup in the slingshot ?

Not sure if the issue has been raised before but I'd like to know if the slingshot can be improved to integrate any TDD/BDD based development tools like Mocha /Chai  ? I can still somehow manage to get the set-up run manually but would be nicer if this boiler plate came inbuilt with an option to integrate them.
Thank you!

I think Jest is good enough to write both TDD and BDD tests.

Agreed with @RoM4iK. What feature is missing from Jest that you enjoy with Mocha?

Thanks for your response.Initially,I thought Jest was the correct choice for React apps but after reading this reddit post,seems like developers are more conformable with using mocha.

That post is from a year ago. Facebook gave Jest a full-time team about that time and it has radically improved since then. My question about what you can do in Mocha/Jasmine that Jest can't do stands.
I'll say this: Jest has snapshot testing, which neither Jasmine nor Mocha support. It also has mocking and assertions built-in, unlike Mocha.

I asked a question about why jest during the migration. Not sure how much help it will be but here is a link to the comment.
https://github.com/coryhouse/react-slingshot/issues/262#issuecomment-252485511


Delete filter not working

Deleting a filter results in
name 'settings' is not defined
/home/ubuntu/lasair4/webserver/lasair/apps/filter_query/utils.py, line 233

fixed


Sample App section in README.md pointing to wrong directory path

Fixes wrong jquery path in angular.json
Fixes formatting in package.json
Fixes #6

Hi!
Thank you for the raising the PR.
The gated build is failing due to the changed jquery path.
The older jquery path pointed to the node modules directory of the project and not the sample app folder since lerna installed jquery in the root dir.
I think that change can be reverted or, sample app can be configured to maintain copy of jquery in it's own node_modules.

Hi @sumitparakh
Thank you for the raising the PR.
The gated build is failing due to the changed jquery path.
The older jquery path pointed to the node modules directory of the project and not the sample app folder since lerna installed jquery in the root dir.
I think that change can be reverted or, sample app can be configured to maintain copy of jquery in it's own node_modules.

Hi @Kartik2016, the jquery change is reverted.


Cropping a GIF image

Try to crop a gif in the example here https://codesandbox.io/s/wonderful-pine-i7fs3?file=/src/index.tsx
the preview had no problem (the gif image is moving), but after cropping and download the final image. The gif image is not moving anymore. The final image is the first frame of the gif in cropped size.
Is there any configuration to enable gif cropping or is it not supported?

@kafinsalim AFAIK cropperjs does not work with gifs
You should check the cropperjs documentation and see if it supports that.

Try to crop a gif in the example here https://codesandbox.io/s/wonderful-pine-i7fs3?file=/src/index.tsx the preview had no problem (the gif image is moving), but after cropping and download the final image. The gif image is not moving anymore. The final image is the first frame of the gif in cropped size.
Is there any configuration to enable gif cropping or is it not supported?

Maybe you can use this package to crop gif with cropperjs: super-image-cropper.


[BUG] Zooming out (or using bigger windows) bugs out the page margins

Describe the bug
Simply zoom out or use a highly horizontal screen (I know, I know...) and the wonderful margins that keep text organized and the side-ToC disappear.
Expected behavior
There should be a maximum horizontal size of the text body, so everything is kept sanely readable while keeping the theme's background color, and the table of contents by the body.
Screenshots

Preview Environment

OS: Arch Linux
Browser: Firefox

Additional Information
Happens with the demo website.

Describe the bug
Simply zoom out or use a highly horizontal screen (I know, I know...) and the wonderful margins that keep text organized and the side-ToC disappear.

Hi! thanks for your report.
I'm sure that this happens on <50% zoom-out which is not supported by our media-screen (current setting is for 4k display).


Change the color of text leftSideButton and rightRightButton

Hi,
I need to change the color of text of leftButton and rightButton of cell and also change the font size of text of buttons,
Please let me know how to change the color of text. Its very urgent.
Thanks in advance.

let button = MGSwipeButton()
button.titleLabel # you can access to title label

I know the issue is closed but this worked better for me, thanks:
let button = MGSwipeButton(title:"Title", backgroundColor: myUIColor)
    button.setTitleColor(myTitleUIColor, for: UIControl.State.normal)


adds field labels for all languages

for forms, search results, and show page

Pull Request Test Coverage Report for Build 932

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

Totals

Change from base Build 931:
0.0%

Covered Lines:
8208

Relevant Lines:
8360

💛  - Coveralls


[DEV/GW] Initial commit

Initial Gatsby rewrite

Rewrote some components of the website to gatsby
Implemented the design system for the first time :>

btw don't pull this yet until i explicitly told that I'm done, thanks :>


Insert at position?

Is there any way to insert record at a particular position of collection?

Hi @rajeshsharmadl
I don't quite understand what you mean, could you please explain your use case?

I am developing a website where I may need to insert record into existing collection but at a particular position. This way, when data loads, the entry loaded in last, will still be displayed at the selected position.
I hope, I am able to clarify.

@rajeshsharmadl I think I get what you mean.
If you want to return the documents always in a specific order you can do that by your own.
SleekDB provides everything you need to make that kind of functionality.
Example solution:
For every document you save a attribute called "position".
The first document will have the position = 1, the second one position = 2 and so on..
If you have for example 20 documents and you want to insert a new document and it should have the position = 2 you give it the position = 2 and increment  the positions of all documents saved with position >= 2 with 1.
When retrieving all documents you now just need to order by position in a ascending order.
Hope I could help.
If you have any further questions don't hesitate to ask.

Thanks.
This is an excellent solution and should work fine. I will give it a try.
Regards
On Sun, 21 Mar 2021, 21:12 Timucin Ünal, @.***> wrote:

@rajeshsharmadl https://github.com/rajeshsharmadl I think I get what
you mean.
If you want to return the documents always in a specific order you can do
that by your own.
SleekDB provides everything you need to make that kind of functionality.
Example solution:
For every document you save a attribute called "position".
The first document will have the position = 1, the second one position = 2
and so on..
If you have for example 20 documents and you want to insert a new document
and it should have the position = 2 you give it the position = 2 and
increment the positions of all documents saved with position >= 2 with 1.
When retrieving all documents you now just need to order by position in a
ascending order.
Hope I could help.
If you have any further questions don't hesitate to ask.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rakibtg/SleekDB/issues/175#issuecomment-803606546,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4FHPKOQFDC37LAPEGNHYTTEYHVPANCNFSM4ZQVCZGQ
.

Nice to hear that I could help you.
I will close the issue for now, feel free to reopen it if needed.


" 'JNWScrollView.h' file not found" after Cocoapod install

Is there any trick to using this with Cocoapods in a Swift project? Upon building I'm getting the error mentioned in the issue title.
Since this is a swift project with swift pods I have 'use_frameworks!' set in the podfile which may or may not be relevant here.
Thanks!

Unfortunately I don't have much experience with Swift & CocoaPods. The podspec lists JNWScrollView as a dependency. With that frameworks flag enabled does it attempt to turn JNWScrollView into a framework as well?

I get it to work by changing #import "JNWScrollView.h" by #import <JNWScrollView/JNWScrollView.h> in JNWCollectionViewFramework.h
Could you modify it @jwilling ?

@bmichotte The problem is that I can't change it to a framework import since it technically isn't a framework. It would work for the CocoaPods build but would break the framework build. I'll try to come up with a fix if I can find the time.

@jwilling  The following works
#if defined(COCOAPODS)
#import <JNWScrollView/JNWScrollView.h>
#else
#import JNWScrollView.h
#endif

Should be fixed thanks to @bmichotte.


Adds Antag Cluwne Beast

Cluwne Beast is a xeno alien antagonist that will attempt to take over the station by turning the crew into cluwnes. Join the Honkmother.

https://user-images.githubusercontent.com/113240905/224517071-bd477ace-2f0f-497d-b38a-58335532ac20.mp4

Cluwne Beast has cluwne behavioural traits such as falling over, honking and autoemoting similar to a cluwne.
Cluwne beast has a unique manical laugh emote.
Cluwne beast can cloak when stationary for a length of time, this takes a while and moving reveals the cluwne beast almost instantly. Combined with the cluwne beasts constant laughing and honking it makes stealth with the cloak a little difficult still.
Cluwne beast has a chance to turn humanoids into a cluwne by hitting them via space magic. (cluwnes are not a disease they are magical).
Cluwne beast has hands and can interact with things in the world.
Cluwne beast has pockets, ear, mask, id and a neck slot. Can equip cloaks and put things in its pockets, can wear headsets, can equip an id, only face mask is whitelisted to its mask slot similar to a pet (possibility to whitelist smokables later).
Cluwne beast spawns in a random place on the station, the cluwne beast has no equipment at all when it spawns in.
Cluwnes should be considered friendly to the cluwne beast and vice versa.
There is a new stationevent than can cause a xenothreat (currently only the cluwne beast uses the announcement). This event will spawn a cluwne beast via the ghostspawner (this does not place the cluwne beast until someone selects the ghost role). The chance for this event to occur is quite low. There is a very slim chance more than one cluwne beast may spawn for the event.
There is no gamerule for the cluwne beast, killing the cluwne beast does not end the round and turning everyone into a cluwne does not end the round. A cluwnified crew member can still carry out station duties, the only difference is the cluwne beast is their friend. Cluwne beast wants to go to centcom to cluwnify even more humanoids.
Whilst a cluwne and a cluwne beast are friendly, a cluwne does not have to carry out the orders of the cluwne beast.
Cluwne beast is clumsy.
Cluwne beast has the stutteringaccent like a cluwne.
Cluwne beast does some structural damage when attacking (a lot less structural than the fireaxe), this is to help it escape from bad spawn locations such as inside a reinforced room.

Possible future additions

Give the cluwne beast some objectives to accomplish such as escaping on the shuttle or turning x number of crew into cluwnes.
Create a separate pr for a smokable whitelist that will allow the cluwne to smoke cigars, blunts and pipes using its mask slot (which is currently only whitelisted for face mask like a pet).
Green portal is currently just a nice asthetic that spawns when cluwne beast spawns and vanishes shortly after symbolizing how the cluwne beast arrived on the station. Possibility of the gren portal linking to some honkmother hell world where the cluwne beast is from.

Changelog
🆑 Brainfood

Added: Cluwne Beast is a new antagonist. Can the crew stop them before they turn everyone into Cluwnes?

don't you think that the presence of hands will upset the balance?
For example, they will be able to cut wires with wire cutters (when there is no light), they will be able to shoot weapons (the chance of an explosion in the face is not 100%, right?), they will be able to use weapons that will be more powerful than their claws (or more convenient - for example, a stunning baton)
Or am I wrong? Do they have a mind? (zombies, for example, do not, so they are obliged to kill the crew) do they continue to be considered crew members and are not hunted? Can they continue their work in the department?
If so, forget what I said at the beginning of the comment - everything is fine. Anyway, good job!

don't you think that the presence of hands will upset the balance?
For example, they will be able to cut wires with wire cutters (when there is no light), they will be able to shoot weapons (the chance of an explosion in the face is not 100%, right?), they will be able to use weapons that will be more powerful than their claws (or more convenient - for example, a stunning baton)
Or am I wrong? Do they have a mind? (zombies, for example, do not, so they are obliged to kill the crew) do they continue to be considered crew members and are not hunted? Can they continue their work in the department?
If so, forget what I said at the beginning of the comment - everything is fine. Anyway, good job!

I dont think it will, whilst they are a ghost role and typically having a ghost role have hands is a bad thing, they are also an antag and i believe it wont be any more damaging than having an event add a dingle nukie or syndicate operative to the station in terms of sabotage.
I  could be wrong but also the cluwne beast has no access and only 2 pockets, so could potentially find 4 tools and juggle them but would have a difficult time getting into areas, more difficult than a syndie for example.

In that case, I have no more questions. Thanks for the explanation!

i'm not sure if you guys are familiar with the clown monster from ss13 that travels underneath tiles and has a creepy laugh whenever he's around you, i would love to see that implemented in ss14

floor cluwnes are probably out of scope for this pr

i'm not sure if you guys are familiar with the clown monster from ss13 that travels underneath tiles and has a creepy laugh whenever he's around you, i would love to see that implemented in ss14

Floor Cluwne is something i plan to take a look at in the future to complete everything cluwne related. Well we also need a wizard spell to cluwne a player as well.

floor cluwnes are probably out of scope for this pr

Hey delta, how hard is it to set up a objective? thinking of setting up a cluwne % of station objective.

its easy enough IME the main issue is how you store the objective state, do you put it in the objective itself or on the cluwne beast
in my experience with ninja i have it stored in ninja but it might not be best approach
check out how zombie does it

im pretty sure the right way is to do something like corpium that turns whatever ingests it into a cluwne, then put your reagent inside bread as a food

But what about the hascomp requirements?
On Wed, Mar 22, 2023 at 7:53 PM deltanedas @.***> wrote:

im pretty sure the right way is to do something like corpium that turns
whatever ingests it into a cluwne, then put your reagent inside brain as a
food
—
Reply to this email directly, view it on GitHub
https://github.com/space-wizards/space-station-14/pull/14598#issuecomment-1480173455,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A276WSJOVCGMNVLGDQW2VRTW5NKB7ANCNFSM6AAAAAAVXV3NIY
.
You are receiving this because you authored the thread.Message ID:
@.***>

just have hascomp in the reagent effect type's handler thing presumably corpium also has a zombie check

just have hascomp in the reagent effect type's handler thing presumably corpium also has a zombie check

Good thinking, will look into this later. I already sort of did this with the Honk virus i made in bananium but that simply added a component. I think the corpium just adds the ZombifyOnDeathComponent though

yes and youd ensurecomp

im ngl this seems like a relatively bad conversion antag and should never be in the event pool

Frozen for gamemodes/station events refactor: https://github.com/space-wizards/space-station-14/pull/14598


molly: fix executing of method close

Fix executing of a close method due to early return
Add logging to client methods
Fix errors in test examples

Fix #2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

2 of 5 (40.0%)  changed or added relevant lines in 1 file are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.4%) to 93.343%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

molly/client.lua
2
5
40.0%

Files with Coverage Reduction
New Missed Lines
%

molly/client.lua
1
88.75%

molly/tests.lua
6
82.69%

Totals

Change from base Build<PHONE_NUMBER>:
-0.4%

Covered Lines:
645

Relevant Lines:
691

💛  - Coveralls


Hotfix/missing dependency (colab fails)

Fixed a new error occuring in Colab:
ModuleNotFoundError                       Traceback (most recent call last)

<ipython-input-2-54c8628577b8> in <module>()
      9 from kgforge.core import KnowledgeGraphForge
     10
---> 11 from cord19kg.utils import (generate_curation_table,
     12                            link_ontology,
     13                            generate_cooccurrence_analysis,

6 frames

/usr/local/lib/python3.7/dist-packages/bluegraph/downstream/similarity.py in <module>()
     18 import pickle
     19
---> 20 import faiss
     21 import os
     22 import warnings

ModuleNotFoundError: No module named 'faiss'

Installation of faiss is not necessary for running the cord-19 example. This error occured because of the newly introduced and undesirable dependency of bluegraph.preprocess on bluegraph.downstream.data_structures (the later requires faiss). Resolved the dependency by moving interface classes not related to downstream tasks from downstream.data_structures to their respective packages.

Codecov Report

Merging #82 (5e62399) into master (3bb2e75) will decrease coverage by 0.43%.
The diff coverage is 65.21%.

@@            Coverage Diff             @@
##           master      #82      +/-   ##
==========================================
- Coverage   81.16%   80.72%   -0.44%
==========================================
  Files          41       41
  Lines        3680     3596      -84
==========================================
- Hits         2987     2903      -84
  Misses        693      693

Impacted Files
Coverage Δ

bluegraph/core/io.py
62.07% <ø> (-2.06%)
:arrow_down:

bluegraph/downstream/__init__.py
100.00% <ø> (ø)

bluegraph/downstream/data_structures.py
86.01% <ø> (+1.77%)
:arrow_up:

bluegraph/core/embed/embedders.py
80.00% <58.33%> (-2.65%)
:arrow_down:

bluegraph/core/utils.py
84.90% <62.50%> (-3.99%)
:arrow_down:

bluegraph/preprocess/encoders.py
78.86% <100.00%> (-0.32%)
:arrow_down:

bluegraph/preprocess/utils.py
96.87% <100.00%> (ø)

bluegraph/core/analyse/metrics.py
71.42% <0.00%> (-2.16%)
:arrow_down:

... and 10 more

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 3bb2e75...5e62399. Read the comment docs.


Medoo wrapper

Hello there!
Medoo is fantastic! Way better than dealing with mysqli_* functions or PDO all by myself.
But there is something that was still bothering me.. Having to create the connection everywhere, and having to pass the table name all the time.
So I created a wrapper that reuses the connections and allows me create one class for each table (OOP) real quick  :D
Here is the repository: https://github.com/aryelgois/Medools
I even named it to remember Medoo (there is no problem, right?). Medools would be Medoo + models, because the main class works like a model in a MVC pattern.
To take it to the next level, I just finished a router framework based on my wrapper. It makes very easy to create a RESTful APIs, where each resource maps to a model.
There is: https://github.com/aryelgois/medools-router
I hope you find it helpful

Great work for that!
It's pleasure to have this wrapper based on Medoo.
But here, the issue board, is the place reporting problem for Medoo project itself. Not a forum. So this kind of post have to be closed.
Anyway, keep up the work.
Hope the best,

Yeah, sorry about that
Is there any forum? :3


Start adding Rubocop

This is a spike on adding Rubocop to Dalli, using the default Rubocop configuration as much as possible.  The goals are:

To ensure that Dalli's codebase matches current best practices for writing idiomatic Ruby.
To expose issues with the code or tests via linting, now and ongoing
To make the code base more approachable for the general developer population

As part of this effort, the following issues have been identified to date:

Two specs that, because they were using assert rather than assert_equals were not actually functional.
The find_memcached code only checked the $PATH, rather than checking a set of additional standard paths, as was intended.
Existing use of IO.select that's incompatible with the fiber scheduler in Ruby 3.0 and forward

The bulk of the changes are expected to be cosmetic, and reflect the changing nature of idiomatic Ruby over time.  I'm going to try and avoid other refactoring - designed to shrink the size and complexity of classes/methods/blocks - within this PR.
That will likely require that we use non-default Rubocop configuration in some places.

The current PR doesn't fix all lints, but most of the remaining issues are in areas that I expect to see some refactoring in other PRs.  So I'm inclined to land this PR on master at this point, and use that as the base going forward.


Feature suggestion: Fix broad github permissions

I understand and acknowledge that this is a known bug and is documented at https://www.netlify.com/docs/github-permissions/. I've presented it here as a feature suggestion due to the nature of the bug being the best available solution at the time it was implemented.
Github has enabled finer grain access permissions via integrations (currently in early access). Perhaps these would help solve some of the pain points of having to give netlify overly broad permissions.
https://developer.github.com/early-access/integrations/

Thanks for the request @joshka - I agree, we definitely want to go here. GitHub's GraphQL API is also on our radar, and also in early access. We'll keep it open and see who's interested in making it happen!

I don't think I realized initially that this is a Netlify issue and not a CMS issue. If anyone has thoughts we can re-open, but closing for now.


gnutls: set certificate location

This is a fast fix; it might be best to use $SSL_CERT_FILE. Tested on vlc with youtube https URLs. Discussed also on #8118.
Any better ideas?

Forgot to link upstream docs.

:+1:

I didn't want to poke now through the source and search what to patch, so I just did this quick fix. We use $SSL_CERT_FILE in openssl and curl, for example, so I guess the (security) implications were considered already.

/cc maintainers @edolstra, @wkennington.

I would prefer this to use the cacert package directly so we can guarantee this works on non-nixos systems. Ideally it wouldn't need to depend on the hash of the cacert package so that we could update cacerts without triggering a rebuild.

Is gnutls case different from openssl and other cert users? I would expect same or similar handling.

They should be doing this as well. Again, the biggest downside is that
cacert updates will now trigger mass rebuilds if you add this kind of
change to something like openssl (nss already handles this internally and
it's the source of cacerts).
Maybe it would be useful to move the current cacert implementation to
something called cacert-generator, and make all ssl libraries depend on a
static tarball created from this generator like how bootstrap tools works.
Then, have a test case which fails if the generated files are different
from the tarballd ones.
On Tue, Jun 2, 2015, 11:25 Vladimír Čunát<EMAIL_ADDRESS>wrote:

Is gnutls case different from openssl and other cert users? I would expect
same or similar handling.
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/pull/8121#issuecomment-108044047.

The problem with the tarball approach is that very few people can update it
since there isn't an ideal spot for just any committer to put tarballs.
This leads to cacert chain stagnation. I would hope that by adding a
blocking test case we could at least light a fire so that a committer will
attempt to put it out.
On Tue, Jun 2, 2015, 11:34 William Kennington<EMAIL_ADDRESS>wrote:

They should be doing this as well. Again, the biggest downside is that
cacert updates will now trigger mass rebuilds if you add this kind of
change to something like openssl (nss already handles this internally and
it's the source of cacerts).
Maybe it would be useful to move the current cacert implementation to
something called cacert-generator, and make all ssl libraries depend on a
static tarball created from this generator like how bootstrap tools works.
Then, have a test case which fails if the generated files are different
from the tarballd ones.
On Tue, Jun 2, 2015, 11:25 Vladimír Čunát<EMAIL_ADDRESS>wrote:

Is gnutls case different from openssl and other cert users? I would
expect same or similar handling.
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/pull/8121#issuecomment-108044047.

If we do this, we should probably do it for OpenSSL as well, for consistency.
The main argument against it is impurity - a non-chroot build could end up using certificates in /etc. But that's probably not very likely.
@wkennington Depending on the certificate bundle directly is tempting but not a good idea from a security perspective, because it makes it hard to revoke a certificate system-wide (you'd have to make sure that you have no package with an obsolete certificate bundle in its closure).

You have the same problem with a bug in an ssl implementation, you still
have to replace packages which depend on it. This applies to any
application with a security vulnerability. CA certificates hardly seem like
a special case. Users need to patch their software as with any security
update.
If you look at the frequency of updates, openssl alone is on par with the
number of ca updates. Should we provide openssl at the system level too to
ensure it gets updates?
These default certificates should be only used in the fallback case. The
NixOS system or any other system can override this setting with an
environment variable which we already use in nixos. You could even apply it
to every service and make it overridable.
This also doesn't fix the issue of a system rollback rolling back a ca
bundle.
On Tue, Jun 2, 2015, 13:14 Eelco Dolstra<EMAIL_ADDRESS>wrote:

If we do this, we should probably do it for OpenSSL as well, for
consistency.
The main argument against it is impurity - a non-chroot build could end up
using certificates in /etc. But that's probably not very likely.
@wkennington https://github.com/wkennington Depending on the
certificate bundle directly is tempting but not a good idea from a security
perspective, because it makes it hard to revoke a certificate system-wide
(you'd have to make sure that you have no package with an obsolete
certificate bundle in its closure).
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/pull/8121#issuecomment-108083489.

As for non-chrooted builds... in our master gnutls detects CA file location at configure time. On Hydra it's chrooted, so it finds nothing and uses a default path not populated on NixOS (/etc/ssl/cert.pem, if I read the script correctly). Therefore I did this quick PR to remove this impurity and to make it work at least on NixOS (and some other distros using the same path, e.g. Ubuntu).
Do I understand correctly that the only point of improvement against current openssl state ($SSL_CERT_FILE) would be to better support running on non-nixos? It seems easiest to patch the implementations to e.g. try a few common /etc locations at runtime if that variable isn't present. I can't see a benefit in rebuilding because of a CA change.

Thinking of the upcoming release: what about just merging this and leaving openssl as it is. We can make larger changes later, as I think just stabilizing and testing what's committed among various 15.06-bound branches will need more than enough work until the end of the month.

Pushed to staging now. Further discussion on #8247.

I'm not in favor of pushing this to staging if we don't also do it for OpenSSL.

IMHO openssl had and still has even a better support than gnutls (it uses the env var).


Workspace files for working on the project

Hi there,
I would like to enhance the project in a few ways, but I noticed that there isn't any workspace/project files included. Can you please add them so that it is easy to work on the project?
Thanks,
Rudolph

FWIW, there are project files in BDBOAuth1ManagerDemo.

As @kolpanic stated, there are project files within the demo folder. If you're looking for something different, please let me know. For now, I'm marking this issue as closed.


Added support for ReadOnlyBytes to HttpParser

After I added inner itterations, the results are more realistic:
 Test Name                               | Metric                | Iterations |    AVERAGE |    STDEV.S |        MIN |        MAX
:--------------------------------------- |:--------------------- |:----------:| ----------:| ----------:| ----------:| ----------:
 HttpParserBench.HttpParserReadableBytes | Duration              |    101     |      0.159 |      0.743 |      0.081 |      7.555
 HttpParserBench.HttpParserReadableBytes | Instructions Retired  |    101     | 1.009E+006 | 3.768E+006 | 6.000E+005 | 3.850E+007
 HttpParserBench.HttpParserReadableBytes | Branch Mispredictions |    101     |   4542.099 |  35810.853 |      0.000 | 3.604E+005
 HttpParserBench.HttpParserReadableBytes | Cache Misses          |    101     |   1581.624 |  15895.122 |      0.000 | 1.597E+005
 HttpParserBench.HttpParserRob           | Duration              |    101     |      0.106 |      0.187 |      0.081 |      1.967
 HttpParserBench.HttpParserRob           | Instructions Retired  |    101     | 8.069E+005 | 8.850E+005 | 7.000E+005 | 9.600E+006
 HttpParserBench.HttpParserRob           | Branch Mispredictions |    101     |   1824.950 |  10641.330 |      0.000 | 1.065E+005
 HttpParserBench.HttpParserRob           | Cache Misses          |    101     |    324.436 |   2877.898 |      0.000 |  28672.000
 HttpParserBench.HttpRequestParser       | Duration              |    101     |      0.398 |      1.654 |      0.229 |     16.854
 HttpParserBench.HttpRequestParser       | Instructions Retired  |    101     | 2.563E+006 | 7.863E+006 | 1.700E+006 | 8.080E+007
 HttpParserBench.HttpRequestParser       | Branch Mispredictions |    101     |   9286.970 |  92100.618 |      0.000 | 9.257E+005
 HttpParserBench.HttpRequestParser       | Cache Misses          |    101     |   2838.812 |  27303.720 |      0.000 | 2.744E+005

HttpParserReadableBytes : uses ReadableBuffer
HttpParserRob : uses ReadOnlyBytes
HttpRequestParser : toy parser in System.Text.Http implements purely in safe code (i.e. no pointers)

cc: @davidfowl, @pakrym, @shiftylogic, @ahsonkhan

The results are too good to be true;

Almost 4x!

@KrzysztofCwalina, how come all your commits squash into one commit? It is hard to see diff per commit if you merge all your commits into one prior to review completion. Just curious.

That's the workflow we used in corefx. You squash at push, not at merge.

That's the workflow we used in corefx. You squash at push, not at merge.

I see. Doesn't that make incremental PR review harder? If you have multiple commits, I can either view the net change (of all commits) or just see per commit change.

That's the workflow we used in corefx. You squash at push, not at merge

It must have been in early days. It has not been the preferred workflow for a very long time. From https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/contributing.md
DO address PR feedback in an additional commit(s) rather than ammending the existing commits, and only rebase/squash them when necessary. This makes it easier for reviewers to track changes. If necessary, squashing should be handled by the merger using the "squash and merge" feature, and should only be done by the contributor upon request.

Ah, good to know, and good point about the commits/reviews. Will try to remember to not squash next time.

Did you port the unit tests? Otherwise how do you know if it still works?

I just realized you didn't:
https://github.com/KrzysztofCwalina/corefxlab/blob/aaf9c3595a01d9bf569e8576685c818474cb8f29/tests/System.Text.Http.Parser.Tests/HttpParserTests.cs
See:
https://github.com/aspnet/KestrelHttpServer/blob/47f1db20e063c2da75d9d89653fad4eafe24446c/test/Microsoft.AspNetCore.Server.KestrelTests/HttpParserTests.cs


Extract data lake artifact names as maven properties

:mag: Description
Improve data lake dependency management by extracting the following Maven properties:

delta.artifact
hudi.artifact
iceberg.artifact
paimon.artifact

It often takes a while for the downstream data lakes to support the new Spark versions, extracting those properties makes it easy to override in the new profile on the Kyuubi project's pom.xml to workaround before data lakes jars are available.
One use case is https://github.com/apache/kyuubi/pull/6407/commits/a19bb7c18e8e22181b7cebb1e4166868bd5525fb
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Pass GHA.

Checklist 📝

[x] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

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

Project coverage is 58.30%. Comparing base (1e08064) to head (bbf774a).

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #6427      +/-   ##
============================================
- Coverage     58.32%   58.30%   -0.02%
  Complexity       24       24
============================================
  Files           656      656
  Lines         40268    40268
  Branches       5498     5498
============================================
- Hits          23485    23478       -7
- Misses        14277    14283       +6
- Partials       2506     2507       +1

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

Thanks, merged to master


Batched inference

I found the model was rewritten. Is any way yo batched inference that inference 4 pictures per GPU per time?

The api is currently not available, though it has been implemented.
For single GPU inference, you can modify the argument imgs_per_gpu and comment corresponding assert statements.
For multi GPU inference, it needs more modification.

The api is currently not available, though it has been implemented.
For single GPU inference, you can modify the argument imgs_per_gpu and comment corresponding assert statements.
For multi GPU inference, it needs more modification.

Thanks for your reply, I have checked the code and comment the assert line in base.py.  However, the output the following line is always for one img even the data['img'] is [4,3,xxx,xxx]. How to run the right result here?
`` result = model(return_loss=False, rescale=not show, **data)
For example,
the data['img'] is 1,3,height,wight
the result is a list of length 80
when the data['img] is 4,3,height,weight
the result is always a list of length 80

yes，I found the same problem.  it do'n surpport batch inference even in single GPU inference，the result is always for the first img even the data['img'] is [4,3,xxx,xxx]  @hellock @robeson1010

I noticed that in rpn.py, only the proposal_list[0] is returned which is marked as TODO.
What is the current restriction of batch inference/training?
Is it due to the image preprocessing?
It looks like the scaling/padding may not ensure the same image tensor size in a batch because the img_transformer is set to pad to a multiple of cfg.data.size_divisor.


Correctly resolve parameter's required property

Back in https://github.com/StackStorm/st2/pull/690/files#diff-950f03378fda3eb80bbc01142a430fd7R31 @m4dcoder presumably decided that if certain parameter is set as required on a runner level, it should end up being required even after we add action parameters to the mix. In reality, user can set default value for this parameter on an action level and thus lift the requirement.
Strictly speaking, parameter should never have truthy values of require and default simultaneously, but that change is more on par with linting actions during registration and therefore outside the scope of this PR.
Resolves https://github.com/StackStorm/st2web/issues/307
STORM-2201

Good catch - thanks!
As far as required and default goes - I've updated the JSON schema validate function (util.schema.validate) in the past so if a parameter was required, but had a default value set it wouldn't throw an exception. In short, you didn't need to set required to False if default value was provided.
From this PR it looks like this functionality got changed at some point though :/

Actually, looking at #307 some more, this really only seems to be "display" issue. It sounds like backend functionality still works fine.
To keep it consistent with the backend, would it be possible to update st2web code to not display asterik next to the parameter name if required is true, but default value is also provided (this way it will be consistent with the backend behavior)?

Strictly speaking, parameter should never have truthy values of require and default simultaneously,

I don't think that is a valid assumption although I can see it's a less common use case. Manas and I have argued about it and figured it's a less common but valid use case.


"'ARPieChartAnimationTypes.h' file not found" in ARPieChart.h when using Cocoapods

I thinks this has to do with you including a "private header" (as cocoapods sees it) in a public header.

Anyone knows how to solve this?

This issue happened to me after installing new pods, anyone can solve this or is this issue related to cocopaods?


Some accounts can't connect while others can

I've been searching all over the internet for a solution to this issue but I can't find any help. For some reason I can connect remotely using my account but when I try to use the guest account it doesn't work. There are two other accounts on the computer and one works and the other doesn't, but both belong to the Admin user groups, so I don't know what the issue is.
I can connect to the computer using all four account and putty (SSH) so I know the passwords are correct. I tried option number 2 from this page because I thought it was a read/write issue with ssl-cert-snakeoil.key but now I'm not sure if that is the problem.
https://c-nergy.be/blog/?p=13708
I've also checked that all users have logged out of their accounts using "w" so there are no concurrent accounts.
I'm attaching the XRDP log files, hopefully they can help.
xrdp_sesman_copy.log
xrdp_copy.log
I'm running Windows 11 and connecting to Ubuntu 22.04.2 with xrdp 0.9.17.
Any help would be appreciated. I'm a bit of a novice so hopefully what I've provided is useful.

The X server isn't working for the guest user.
Is there anything useful in ~guest/.xorgxrdp.10.log? I'm assuming the guest user has write access to their home directory.

Actually it looks like the two accounts with issues have their ownership swapped for some reason. I upgraded the system to 22.04.02 and migrated their accounts/home directories over but still have the original OS on a separate HDD. When I look at the ownership using "ls -l" they are switched, even on the original OS. XRDP was working on the original OS but I don't understand how.
I'm sorry to ask, but can you tell me how to change the ownership of the home directory for each user? I'm not sure how.

A non-writeable home directory will certainly cause you problems. From your description that's probably it.
I'm not sure I fully understand what you mean by ownership swapped. There may be a simple solution here. Can we drill down a bit please?
What do you get for these commands (making the appropriate substitutions for <account1> and <account2>:-
getent passwd <account1>
getent passwd <account2>
sudo ls -ld /home/<account1>
sudo ls -ld /home/<account2>

You know what Matt, I was able to fix the issue. I used "chown" and "chrgrp" using the recursive (R) and symbolic link (h) options. Connecting with XRDP has been a problem for months and I had given up on fixing it, but this solved it.
I think the original HDD had some error in its file system that it tried to correct and when it did the ownership of the two directories got switched, so when I moved them to the new OS, on a new SSD, it came with them. I didn't realize this was the problem because prior to the HDD crashing things were working fine.
I thought there might be a permission issue with the files needed for XRDP but I didn't think the home directories were the issue. Thanks for finally pointing me in the right direction to solve this problem!

Glad you've got it sorted @mvinsky
You can check the permissions on the home directories by logging in as each user and entering this command:-
find ~ -xdev \! -uid $(id -u) -ls

I'll explain it a bit:-
The $(id -u) bit gets the UID of the current user with id -u and substitutes it into the rest of the command. Lets say it returns 1000.
The find command then looks for all files under ~ (the home directory) on the current filesystem (-xdev) with a UID not equal to the current user (\! -uid 1000) and then lists them (-ls).
I'd recommend you taking a bit of trouble to do that just to make sure this one is put to bed. Then feel free to close the issue!

Nothing happens when I type this in. Is there a typo?

No - that's fine. The command only displays the files not owned by the user. If you're not seeing any files, all is good.


Add python3-devel.x86_64 for buliding python3 lambda

Hi, @timmattison
I'm using the ggp for build & deploy greengrass python lambda & making greengrass resources.
Thank you for this service.
This error has occurred when the ggp builds python lambda
[INFO] BasicDeploymentHelper: Creating policy for core
[INFO] BasicDeploymentHelper: Associating the Greengrass role to the group
[INFO] BasicDeploymentHelper: Creating core definition
[INFO] BasicDeploymentHelper: Creating logger definition
[INFO] BasicDeploymentHelper: Creating Lambda role
[WARN] BasicDeploymentHelper: At least one function was detected that is configured to run as root
[INFO] BasicLambdaHelper: Creating Python 3 function [datasourceBinder]
[INFO] BasicPythonBuilder: - [datasourceBinder] - Retrieving Python dependencies
[ERROR] BasicPythonBuilder: Something went wrong with pip
[ERROR] BasicPythonBuilder: pip version appears to be incorrect or pip is missing
[ERROR] BasicPythonBuilder: To resolve:
[ERROR] BasicPythonBuilder: 1) Make sure Python and pip are installed and on your path
[ERROR] BasicPythonBuilder: 2) Make sure pip version is 19.x (pip --version) and install it with get-pip.py if necessary (https://pip.pypa.io/en/stable/installing/)
[ERROR] BasicPythonBuilder: 3) Try installing the dependency with pip and see if pip returns any installation errors

This is our python3-lambda requirements.txt

# modules for common libs
boto3
greengrasssdk
requests

# modules for this lambda
python-socketio
python-dateutil
psutil

I'd used ggp docker images with tag "master"
So I entered the ggp docker images with entrypoint=/bin/bash and try it manually

/bin/python3 -m pip install psutil
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=580 -DPSUTIL_LINUX=1 -I/usr/include/python3.7m -c psutil/_psutil_common.c -o build/temp.linux-x86_64-3.7/psutil/_psutil_common.o
    psutil/_psutil_common.c:9:10: fatal error: Python.h: No such file or directory
     #include <Python.h>
              ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-rk6absz8/psutil/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-e96ahoao-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-rk6absz8/psutil/

I think that it can be solved by adding this line intoDockerfile.run in this repository
yum install -y  python3-devel.x86_64
I did these commands in GGP master image with entrypoint=/bin/bash and psutil was installed successfully.
yum install -y python3-devel.x86_64
/bin/python3 -m pip install psutil

Thank you.

Thanks again for finding this!

Thanks again for finding this!


v3 no longer actively developing?

Hey guys, seems like progress on v3 slowed down and issues are not being responded to, too well. Wanted to ask if you are no longer planning to keep developing it and what future of firestack looks in general? Appreciate work you've done so far :)
This is the best firebase solution for react-native so far.

Perhaps it's no longer true that "the latest version of Firebase requires the window object"?

@ajostergaard no it doesn't, I'm currently using web sdk just fine 👌 firestack is a great tool to bring additional features like analytics / crash reporting etc to the project

@IljaDaderko Are those features not available direct via the Firebase APIs? Kind of wondering whether there's any need for Firestack now that Firebase itself is maturing?

@ajostergaard Unfortunately not, things like Analytics for example are only available for iOS and Android (i think Unity as well), but nod within firebase JS sdk.

Perhaps time to switch to Firestack - thanks for the clarification!

plus Facebook & google auth as well storage is not supported

Thanks for the clarification guys and sorry @IljaDaderko for hijacking your issue. Your question remains unanswered, will you open another or shall I?

@ajostergaard Maybe you should, I'm also interested by this question.

@ajostergaard @gabsn @jasan-s I was the maintainer/creator of v3 and the majority of the changes were done by myself.
Have since moved to https://github.com/invertase/react-native-firebase - it's well tested, updated daily, and much more of a complete implementation for both platforms, auth for example is 100% implemented on both platforms.

@Salakar good tip - thanks!!!


mirror issue

The output of /version on my server is: This server is running Paper version git-Paper-224 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
The output of /version denizen on my server is: Denizen version 1.1.1-SNAPSHOT (build 1690-REL)
[17:36:16 INFO]: Author: The DenizenScript Team
(If relevant) A link to a paste of a script demonstrating the issue: https://pastebin.com/59DN2zMi
The issue is:
Using /npc mirror does not allow for multiple players to see their own skin on display when each player passes by the same npc. For clarification npc "test" shows steve skin. After using /npc select and /npc mirror each payer still sees the steve skin rather than their own.

Reproduced this issue with following plugin versions:
Denizen 4443
Citizens 1784
Plugins: Vault, LuckPerms, Citizens, Depenizen, Denizen.

@Hafner2000 You posted a log file in a spot that asks for a script link... bit mixed up there.
@Ph4i1ur3 None of those 'versions' are valid. The only valid version information is when it's copy/pasted or screenshotted from the output of /version and /version (pluginname).

Fixed for new dev build (4444)


Added how-to guide: Loggers

Resolves #44,
A how-to guide for loggers in Ignite. Demonstrates the usage with one logger (ClearML) and how the usage can be extended to other loggers

@anirudhb11 could you please update the PR and we could land it. Thanks a lot 1

@anirudhb11 could you please update the PR and we could land it. Thanks a lot !

@vfdev-5 thanks for reminder, apologies for the delayed response, have added a brief explanation regarding the usage as requested by @Priyansi

@anirudhb11 Thanks for the update! I let @Priyansi review this PR and merge if everything is ok.
By the way, we are using <!--more--> tag (see https://github.com/pytorch-ignite/examples/blob/main/generate.py#L34-L56) to show short description of the guide in the list. For example https://raw.githubusercontent.com/pytorch-ignite/examples/main/how-to-guides/06-data-iterator.ipynb
Could you please add that as well.

Thanks so much @anirudhb11 for adding the explanation! We should be good to merge once @vfdev-5 's comment is resolved.

Have added a <!--more--> tag to state the dataset and model being used in the task


S3AclSource

Thumbs up if you want this feature, PR welcome

I'd love to see an S3 source plugin. Let me know if you need any help

@dkulig please feel free to implement a PR I'll be happy to provide some feedback

hi @dkulig ! did you make any progress on this? Would love to have you as a contributor

I've submitted a PR to enable this feature. Tested and updated the docs. Questions and feedback are welcome on https://github.com/simplesteph/kafka-security-manager/pull/27


Can't access local variable when on a nested macro

It fails to use the local variable in [1], but it works fine in [2]
#[derive(Default, Debug)]
struct Test {
    val: i32,
}

impl Test {
    fn set_val(&mut self, arg: i32) {
        self.val = arg;
    }
}

macro_rules! setter {
    ($obj:expr, $field:ident, $value:expr) => {
        paste::expr! { $obj.[<set_ $field>]($value); }
    };

    // this should work [1]
    ($field:ident, $value:expr) => {{
        let mut new = Test::default();
        setter!(new, val, $value);
        new
    }};
}

fn main() {
    // error: cannot find value `new` in this scope
    let a = setter!(val, 42);
    println!("{:?}", a);
    // works fine this way [2]
    let b = {
        let mut new = Test::default();
        setter!(new, val, 42);
        new
    };
    println!("{:?}", b);
}

Tested on Rust 1.31.1 stable, Gentoo Linux x86_64.

This looks like a compiler bug. The input is being passed into the macro without Span information. We will need to minimize the bug and file it against the compiler.
Unfortunately the compiler's span handling is totally broken right now --- https://github.com/rust-lang/rust/issues/43081.
TokenStream [
    Ident {
        ident: "new",
        span: #0 bytes(0..0)
    },
    Punct {
        ch: '.',
        spacing: Alone,
        span: #0 bytes(0..0)
    },
    Group {
        delimiter: Bracket,
        stream: TokenStream [
            Punct {
                ch: '<',
                spacing: Alone,
                span: #0 bytes(0..0)
            },
            Ident {
                ident: "set_",
                span: #0 bytes(0..0)
            },
            Ident {
                ident: "val",
                span: #0 bytes(0..0)
            },
            Punct {
                ch: '>',
                spacing: Alone,
                span: #0 bytes(0..0)
            }
        ],
        span: #0 bytes(0..0)
    },
    Group {
        delimiter: Parenthesis,
        stream: TokenStream [
            Literal {
                lit: Integer(42),
                suffix: None,
                span: #0 bytes(0..0)
            }
        ],
        span: #0 bytes(0..0)
    },
    Punct {
        ch: ';',
        spacing: Alone,
        span: #0 bytes(0..0)
    }
]

The code in https://github.com/dtolnay/paste/issues/7#issue-393627978 now builds successfully with Rust 1.45 and paste 1.0.

Correction: it builds with Rust 1.46+ (the current beta; releasing on August 27).


Replace Dockerfile with Containerfile

Relates to #22
Summary
Move to a Containerfile based ephemeral development environment container image in order to be vendor agnostic. Ideally, nothing much changes except that it will become easier to use a different container engine when working on this project.

Trying to build with podman results in an warning (and subsequent error) for line 13:
https://github.com/ericcornelissen/asdf-yamllint/blob/e09dd6c91beea76c6349ff9364f1879479a7b0ad/Containerfile#L13
Stating that:
[...]
STEP 3/7: SHELL ["/bin/bash", "-o", "pipefail", "-c"]
WARN[0006] SHELL is not supported for OCI image format, [/bin/bash -o pipefail -c] will be ignored. Must use `docker` format
[...]

Does Dependabot support updating Containerfile instead of Dockerfile?:
https://github.com/ericcornelissen/asdf-yamllint/blob/3ce6b4fa2885781bc76f3aef2de6b446f1f39e87/.github/dependabot.yml#L5-L12


upstream cert-manager doesn't have rbac permissions for clusterissuers

Adding more context on the problem reported in the spire slack channel.
We were trying to use the spire helm chart to install the server in K8s using cert-manager upstream. We have cert-manager running and using the AWSPCAClusterIssuer issuers in our clusters. When we try to use the AWSPCAClusterIssuer clusterissuers for the cert-manager upstream, the spire server complains that it couldn't find the issuer.
Below are the clusterissuers.
k get awspcaclusterissuer
NAME                           AGE
aws-acm-cluster-issuer         545d
aws-acm-cluster-issuer-ecdsa   545d

Upstream Config used in the helm chart installation
## @param upstreamAuthority.certManager.issuer_name Defaults to the release name, override if CA is provided outside of the chart
issuer_name: "aws-acm-cluster-issuer-ecdsa"
## @param upstreamAuthority.certManager.issuer_kind Defaults to "Issuer", override if CA is provided outside of the chart
issuer_kind: "AWSPCAClusterIssuer"
## @param upstreamAuthority.certManager.issuer_group Defaults to "cert-manager.io", override if CA is provided outside of the chart
issuer_group: "awspca.cert-manager.io"
## @param upstreamAuthority.certManager.namespace Specify to use a namespace other then the one the chart is installed into
namespace: ""

Spire server pod logs captured using debug log level.
time="2024-05-17T03:38:57Z" level=debug msg="Preparing X509 CA" slot=B subsystem_name=ca_manager
time="2024-05-17T03:38:57Z" level=info msg="Waiting for certificaterequest to be signed" external=false name=spiffe-ca-f5vwn namespace=spire-server plugin_name=cert-manager plugin_type=UpstreamAuthority subsystem_name=catalog
time="2024-05-17T03:38:57Z" level=error msg="Created CertificateRequest has failed" external=false message="issuer could not be found" name=spiffe-ca-f5vwn namespace=spire-server plugin_name=cert-manager plugin_type=UpstreamAuthority reason=Failed subsystem_name=catalog
time="2024-05-17T03:38:57Z" level=debug msg="Optimistically cleaning-up stale CertificateRequests" external=false plugin_name=cert-manager plugin_type=UpstreamAuthority subsystem_name=catalog
time="2024-05-17T03:38:57Z" level=debug msg="Deleting stale CertificateRequest" external=false message="issuer could not be found" name=spiffe-ca-f5vwn namespace=spire-server plugin_name=cert-manager plugin_type=UpstreamAuthority reason=Failed subsystem_name=catalog type=Ready
time="2024-05-17T03:38:57Z" level=error msg="Unable to rotate X509 CA" error="rpc error: code = Internal desc = upstreamauthority(cert-manager): request has failed" subsystem_name=ca_manager

We know what the problem is now, since spire deletes the failed CertificateRequests, we captured it using a script and could see the below CertificateRequests. If you notice the issuer name you can see the name aws-acm-cluster-issuer-ecdsa-ca , we noticed it charts templates appends the -ca to the issuer name here. Not sure if this is intended?
{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "cert-manager.io/v1",
            "kind": "CertificateRequest",
            "metadata": {
                "creationTimestamp": "2024-05-17T09:08:32Z",
                "generateName": "spiffe-ca-",
                "generation": 1,
                "labels": {
                    "cert-manager.spiffe.io/trust-domain": "abcxz.net"
                },
                "name": "spiffe-ca-4vblx",
                "namespace": "spire-server",
                "resourceVersion": "884971325",
                "uid": "af6c70c9-60b6-4d2d-8c44-c8c5bc23254d"
            },
            "spec": {
                "duration": "24h0m0s",
                "extra": {
                    "authentication.kubernetes.io/pod-name": [
                        "spire-server-0"
                    ],
                    "authentication.kubernetes.io/pod-uid": [
                        "2247bb84-0fa5-4d8c-93ad-50e2e650495d"
                    ]
                },
                "groups": [
                    "system:serviceaccounts",
                    "system:serviceaccounts:spire-server",
                    "system:authenticated"
                ],
                "isCA": true,
                "issuerRef": {
                    "group": "awspca.cert-manager.io",
                    "kind": "AWSPCAClusterIssuer",
                    "name": "aws-acm-cluster-issuer-ecdsa-ca"
                },

We also noticed that the spire-server-cm role doesn't have permissions for clusterissues and awspcaclusterissuers , it's only limited to certificaterequests and issuers here.
rules:
  - apiGroups: ["cert-manager.io"]
    resources:
      - certificaterequests
      - issuers
    verbs:
      - list
      - get
      - create
      - delete
      - patch
      - update

Solution
We added the permissions for clusterissuers and awspcaclusterissuers  in the spire-server-r, removed the -ca from the configmap, and deployed the chart which was successful 🎉 .

Some more context to the issue: https://github.com/spiffe/helm-charts/pull/378
Looks like -ca is always being appended, rather then just if issuer is not overridden.

clusterissuers and awspcaclusterissuers

Are both really needed for reading by spire rather then just awspcaclusterissuers? Which one did you configure it to point to? We may need to come up with another value for additional permissions.

I added both of them. However, I believe that people using clusterissuers would also face the same problem.

Also, I don't understand why the -ca is appended even in the overrides. If someone wants to use existing issuers this won't work well as the issuers will mistach.

I added both of them. However, I believe that people using clusterissuers would also face the same problem.

Trying to figure out how to fix it in general. If both are needed, we need to figure out a way to let the user specify a list of them. If only one is needed, a string is probably ok.

Also, I don't understand why the -ca is appended even in the overrides. If someone wants to use existing issuers this won't work well as the issuers will mistach.

Its a bug. we gotta figure out how to fix it without breaking too many things.

The clusterissuers are needed for sure, if any custom issuers are used like awspcaclusterissuers we should have a provision to specify them(in helm) and accordingly update the RBAC. Here is a list of all issuers that cert-manager supports https://cert-manager.io/docs/configuration/issuers/

I deployed cert manager in minikube, the aws plugin, made a dummy awspcaclusterissuer. then deployed with:
spire-server:
  upstreamAuthority:
    certManager:
      enabled: true
      issuer_name: example
      issuer_kind: AWSPCAClusterIssuer
      issuer_group: awspca.cert-manager.io/v1beta1

It creates the certrificate request:
NAME              APPROVED   DENIED   READY   ISSUER       REQUESTOR                                    AGE
spiffe-ca-nc4fw                               example-ca   system:serviceaccount:default:spire-server   30s

So, I can reproduce the extra -ca added to the name... I don't have access to AWSPCA really though so cant test it further.
I looked through the code in spire though and cant find any references to it actually needing to get/list issuers though with regard to the upstream plugin.
How does it behave/fail if it doesn't have the extra types listed in the role?

At least in the case of switching the kind to ClusterIssuer, I was able to use it without needing any changes to the role. The spire server doesn't seem to need it.
Could you please try pr 361 and see if that lone is enough to get things working for you?

@kfox1111 - I can confirm that #361 is working as expected without the RBAC changes.


Add a Clear button to the profiler

Also changed the "Start Profiling"/"Stop Profiling" to "Start"/"Stop".

Thanks!


fix: Update to go okapi 1.6.2 to fix linux library search bug

Ignore build failure on linux, the tests all pass. It's a pip cache issue, which is unrelated.


Code documentation (XML comments)

Describe the feature request
I see that all or almost all classes, methods and properties do not have XML documentation.
It would be really helpful to have an indication of what everything does while using the project, instead of having to search the documentation.
Which project is your feature request related to?
All
Describe the solution you'd like
In-code XML documentation like:
/// <summary>
/// Executed whenever the client is disconnected from the broker/server.
/// </summary>
public IMqttClientDisconnectedHandler DisconnectedHandler { get; set; }

Describe alternatives you've considered
Additional context
I guess its not that helpful for very simple classes, properties or methods, but there are examples where it would be very useful:
MqttClientOptionsBuilder and MqttApplicationMessageBuilder have many options that could be documented in-code.

@chkr1011 I guess, we already talked about this. I would like to see that as well, but there was some point against this if I remember correctly.

For me the problem is so find the sweet spot between useful and useless comments. I want to avoid comments like "Gets or sets the username" or "Gets or sets the Client ID" or "Gets or sets the password". These comments do not provide any value.
But as @jacobus mentioned complex things would benefit from some hints at the comment. But the main problem is that such comments must be maintained. Especially when they contain opinions, tips etc. Simple copies from official specs are not that intensive to maintain.
In the end time is the problem. If @jacobusp or @SeppPenner want to start adding those comments just do it and create a pull request. I am not "against" comments. But I also want them to be of good quality and this is currently not possible for me to deliver.

@chkr1011 - If it is okay, I would like to help out with this. If that's alright could you please help out with if there is any specific guideline for PR/process for it?