Make strongSwan's inactivity parameter configurable

Since OPNsense already has a mode to automatically open security associations when needed with the start on traffic option, I think it might come in handy for people to automatically tear down security associations when not sending or receiving traffic over a certain timespan (and create those again when needed).
This option is already seen on numerous Firewall vendors, for example on a Cisco ASA.
Luckily, strongSwan offers an option for this via the inactivity parameter, so I made it configurable.

@WRMSRwasTaken looks good, thanks!


Extend mfor (or just add new versions)

mfor should be able to expand to forms not starting with do
first-node just would have to be set by the user instead of initialized with (mnfv "do")
some other thing, that should be possible is using macros on the list-argument. So lists similar to refines-lists would have to be used. Let's call the first name of this list list
the normal mfor-macro would look like this then:
(mfor do str (list "asdf" "zxcv" "qwer")
  (printf "%s\n" str))

This way one could write operations of fix-sized sequences like arrays
(def range (macro extern ((start int) (end int))
  …)) ;;return `(list start (+ start 1) … (- end 1))`

(array-of 3 int (mfor array i (range 0 3)
  (+ (@$ arr1 i) (@$ arr2 i))))

this would sum arr1 and arr2 (which may be arbitrary types) and return an array of 3 ints, which may be easily extended for other sizes or array-like types

Thanks for this.  There is a new version of mfor, named mfor', that evaluates its list argument as a macro, allowing for the use of arbitrary forms in that place.


Fix method loop and adding report support for run-workers command

When the method __ is called, an endless loop occurs because the added step is recursively appended to the end of the chain.
The added condition fixes method loop.
Add reporting support for run-workers command.
Can be used to get junit reports.
Example command:
npx codeceptjs run-workers 2 --reporter mocha-junit-reporter

Fixes 1938

Thank you for this fix!


Add "Back to top" link for each section

Thanks for the suggestion, but it's not something I want. It creates a lot of noise and you can just press Command+⬆ to achieve the same.


828 projection needs to be set at the study level

This sets up the MVP UI for projections. You are now able to specify a prj file to be the study projection. Upon saving the study properties, it will be copied into the study directory under the Projection folder. If a file already exists there, it will automattically populate as the project projection file.
This has not been tied into the compute yet. That comes next, but I want to get this into main because it's a nice chunk of work and thought.

Organizationally it makes sense to keep projection with other study properties, so that's it's home right now.    We'll need to communicate with our workflow/descriptions/menu items that it needs to match the projections used in the hydraulic model. Thinking about maybe adding a button in the hydraulic importers that opens up the study properties window.


Call out transient nature of fix; changes lost on JVM restart

Won't an "immunized" server lose this fix on JVM restart? If so, this should be called out loudly and early in the README to avoid giving folks a false sense of security.

My PR will fix this

I've clarified the transient nature of the fix.
I want to gather some community feedback on @TudbuT's fix  - it's very elegant, but there are more risks that the current version takes.


Updated Extension: Sprite Snapshot

Updated the 'RenderLayer' and 'RenderScene' functions to handle 3D objects and camera positioning better.

The initial set of CircleCI tests failed, due to my use of the 'gdjs' global object.
If there's a better global object for me to attach my persisted objects to ('window' maybe?) please let me know.

Thank you for submitting an extension update.
If you need to keep some kind of state, you can add it to gdjs._renderToSprite. It's the namespace already used by this extension.
https://github.com/GDevelopApp/GDevelop-extensions/blob/e50f0e510ea00ef4d7de8821e31a1c500572b1a3/scripts/lib/ExtensionsValidatorExceptions.js#L399-L414
You may find more details in these documentations:

https://wiki.gdevelop.io/gdevelop5/events/js-code/javascript-in-extensions/
https://wiki.gdevelop.io/gdevelop5/extensions/best-practices/#javascript-usage


Updated the readme with jekyll 3 dep

There is a hard dependency on the jekyll 3 beta release so updated the readm to inform them as such.

I don't think it acutally depends on jekyll 3?
It works fine for me on jekyll 2.5.3, as long as I put the gem in the :jekyll_plugins group.

@parkr is there actually a jekyll 3 dep?

If you know it works on 2.5.3, then nope!


Proxy list support

Hi, thanks for good solution!
How can I use proxy list?
Can you add proxy support?
You can use flag:
-p proxy-list.txt

Hello, This probably won't be a feature I will add, as it seems to exclusively benefit unauthorized attackers. Right now your best bet for hidden origin is probably to use proxychains or run a VPN, or forking the script and modifying it.

Here is some example https://github.com/N3TC4T/InstaBrute


Jenkinsfiles: Simplify Orin AGX/NX zstd usage

Instead of writing temporary files first, zstd is now used to directly write the image to disk.

I tried the actual command yes, but I didn't set up another instance of Jenkins to just test this :)

@vjuntunen So if you can helping on testing the change it would be nice

@vjuntunen So if you can helping on testing the change it would be nice

I have branch where I making some changes for that file about flashing and should I try that change on my branch and add it on that coming PR as well? Otherwise there might be some conflicts after I merge those other changes..


Console has an error of ReferenceError after add avatax sdk

I add avatax library on master,then start up the checkout. The shipping address section cann't expand, Then i open devtools found the console panel show ReferenceError. But has no error on terminal.

I use the library of ""avatax": "^23.8.1"," is release 23.8.1

Could you please list all actual changes you have made to checkout-js?

I switch to master branch and pull origin, then install the avatax library. So no changes on checkout-js

I add the validate address in Shipping.tsx when submit the shipping form.

The validateAddress detail same to this

This lib only runs on the server env.
This error is missing Buffer Object.


Add invite_user(user) call

Although doc of preceding create_user() call made it sound like it
would invite a user, feeding it a parameter dict as discussed in Ravello
API docs returns a HTTP 500, and the URL seems misaligned from the
API docs. invite_user() has the intended behavior, without trying to
address apparent shortcomings of create_user().

@yotam-sela-ravello , @hadard any reason not to remove the old/deprecated call (POST /organizations/{id}/users) from the SDK?

@gilhoffer we should remove it's legacy code

@yotam-sela-ravello , cool, so can you please merge/accept the PR from @bostrick and remove the old call (should take no more than 10 minutes ;) ).

Thanks @bostrick! merged it to master

Thanks all!


feat: add panic recover for Issue #181

Add recover functions like raven client for Issue #181.

Thank you for your contribution! Unfortunately the project is being put into maintenance mode which means we will not be adding new features.


Feature/apvs 883/hash reference

Updated routes to use encrypted reference and reference ids in route url.
Added common salt value to config

Checklist

[x] Unit tests
[x] End-to-End tests
[x] Code coverage checked
[x] Coding standards
[x] Error Handling

Need readme note update in security section about encryption and will need puppet config changes to set env specific salts


Test(web-react): Ignore demo files from code coverage reports

Description

Additional context

Issue reference

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Follow the PR Title/Commit Message Convention.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

coverage: 84.924% (-11.5%) from 96.46%
when pulling 7010c70a3fe7bf97b3d25105c673e81bdacbfa4c on tests/web-react-demo-coverage
into 4a838f792a1537f756ba3c27bc22b6ca2a15ce16 on main.


Create classmethod load_from to enable creating dataclass dynamically at any point in the program.

Updating __init__ to be the loader of the class from conf files.
Added mypy plugin to show proper type hints.


Some specialized serializers needs the request in context.

@ticosax what if instead we did something like what GenericAPIView does providing get_serializer(), get_serializer_class(), and get_serializer_context()?

Sounds good. I'll work on it from next Monday.
I'll keep you updated.

@jpadilla
I almost copy pasted the code from GenericAPIView. and provided request and view entries in context. May be you prefer I keep it empty like it is today ?

@ticosax that's fine by me, thanks!


[GLUTTEN-3851][VL] Add remaining filter time metric

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Fixes: #3851
How was this patch tested?
(Please explain how this patch was tested.


Upgrade rn version

We need to let ios developers know about the changes in Podfile
also note that react-native-maps does only work with react-native: 0.54.0-rc.3
https://github.com/react-community/react-native-maps/issues/2051#issuecomment-370119631
There still is some cropped texts that needs to be adjusted, there are a lot of componentWillMount warnings, mainly from react-native itself, and other 3rd party modules. We also have som componentWillReceiveProps that should be refactored.

@mrtnzlml ready to be review, please have a look for some UI peculiarities I might have missed


Test262 results for 2.3.0 using C++ harness

Hello!
Today I ran Test262 against ver. 2.3.0 of the runtime, in MacOS. For that, I used a test harness I created in C++ for both Windows and MacOS. The results show that 20141 of the 35887 tests did not pass.
Most of the results make complete sense, since they refer to functionality that is not yet implemented in the runtime - and in some cases, to things that the test harness itself did not implement. There are a few, however, that do not seem to have a clear explanation - /built-ins/Array/prototype/filter/<IP_ADDRESS>-3-12.js comes to mind.
Attached are the results generated by the test harness:
test_results.txt.zip
I just thought you might want to have these results handy for future releases.
The harness I used is currently located at https://github.com/Izhido/test262_harness_cpp .
(I do realize I might be out of place by posting something like this in the issue tracker. If so, a thousand apologies - just let me know).

Update: I just ran the test in a Windows machine, as well. Results are now 20144 of 35887.
I should probably mention that the harness specifically excludes 3 tests from running, since they cause a stack overflow in Windows:

/RegExp/S<IP_ADDRESS>_A1_T5.js
/RegExp/S<IP_ADDRESS>_A1_T5.js
/RegExp/S<IP_ADDRESS>_A3_T15.js

Results are attached here: test_results_win.zip

Thanks, I'll check the results out. For Duktape testing the best test case set would be the ES5.1 subset; although some ES2015+ features are implemented, naturally most ES2015+ tests will fail due to missing functionality.

For the test cases that fail due to stack overflow, you can probably work around it by increasing the stack size when compiling the test harness and/or Duktape.  The default stack size of 1MB is very small compared to most platforms and woefully inadequate for some use cases.

Are there any harnesses that work against the es5 branch of test262?

The make test262test target runs the ES5 test suite: https://github.com/svaarala/duktape/blob/master/Makefile#L750-L757


npm install not working

I have followed the instructions to install with npm 'npm i ngFx --save' I have also tried 'npm install ngFx --save'. But neither way is working for me.
Has this been updated/renamed?

I have the same problem.

sorry for the delay! I'm releasing ngFx v2 tonight, all will be solved!!

I just ran 'npm i --save ng-fx' which worked. next I added:
require('angular-animate');
require('ng-fx');
When I run my gulp build task to open my local server I get the following error:
Error: module "ng-fx" not found from "path/to/project/angular-gulp-browserify/app/scripts/fake_51af8c2d.js"
I then opened the 'package.json' file for ng-fx and changed the main file from ' "main": "dist/ngFx.js" ' to ' "main": "dist/ng-fx.js" ' and then get a different error:
Error: module "!!./../../../node_modules/css-loader/index.js!./../../../node_modules/stylus-loader/index.js!./view.styl" not found from "path/to/project/angular-gulp-browserify/node_modules/ng-fx/dist/ng-fx.js"
Not sure if I am doing something wrong? I am using browserify for my angular app.

that change to the main file should've did it. I did accidentally push up a version recently that did not have the dist files in the package. Try deleting and installing again @mcneela86 . I just updated and tested it.

Hey @Hendrixer I have given that a try but I still get:
Error: module "!!./../../../node_modules/css-loader/index.js!./../../../node_modules/stylus-loader/index.js!./view.styl" not found from "path/to/project/angular-gulp-browserify/node_modules/ng-fx/dist/ng-fx.js"

This is the dependencies from my package.json:
"dependencies": {
    "angular": "^1.4.7",
    "angular-animate": "^1.4.7",
    "angular-ui-router": "^0.2.15",
    "jquery": "^2.1.4",
    "ng-fx": "^2.0.4"
  }

I can add this to a GitHub repo if you want to have a look?

Same problem here, any updates on the issue?

Installing with bower results in "ngFx": "~1.1.0"... is v2 not available on bower?

Same issue here. Any solution at this? Is there some other unspecified dependency?

Same problem here.

Same problem here. Any fix?

I comment the code bellow from the file ng-fx.js on the dist directory and it worked fined.
Don't know what this code are actually does but somehow it was causing this error.
if(!content.locals) {
  module.hot.accept("!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/stylus-loader/index.js!./rotate.styl", function() {
	var newContent = require("!!./../../../../node_modules/css-loader/index.js!./../../../../node_modules/stylus-loader/index.js!./rotate.styl");
	if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
	    update(newContent);
  });
}

Same issue

Same issue


Upload tip

Description
Added upload instructions to entity that needs to be loaded from an external source.
When computing the commit message for each entity, we check if `appgate_metadata["url_file_path"] is set. If it is set, print instructions specifying what path to upload the file/secret contents of the external storage.
I'm using url_file_path() which is also used by the loader to figure out what URL to fetch the contents.

Checklist
Not bumping the version because this is a follow-up for #197

[ ] Bump .version and .appVersion in k8s/crd/Chart.yaml
[ ] Bump .version and .appVersion in k8s/operator/Chart.yaml

What do you think of making it a checkbox even? So it acts as a checklist before merging the pull request.

Good idea!

@thomascellerier What do you think of this format?

Looks good!

Does it work in gitlab too?

@thomascellerier  Verified it works on GitLab as well
GitLab:

GitHub:

@lepiolet The flow to print the upload instructions in the PR is as follows:

When loading a byte/secret entity, set appgate_metadata["urlFilePath"] to save the URL. For bytes, this is done in set_appgate_file_metadata() and for secrets, it is done in set_appgate_password_metadata()
When getting the git commit message, we check if the entity's appgate metadata contains a non-null url_file_path. If this metadata is available, add a checkmark box with instructions on where to upload


add support for additional icons in default toolbar via options.custo…

When merged this should close issue #83

Coverage decreased (-0.1%) to 84.493% when pulling 9110d5dd2be892d56ee30cf2c3f9e1098a1405ff on feature/customize-toolbar into 66c28863adc01b9ac2e74c89e9dc7e317ece1a2d on master.


Virtualbox can't receive keyboard

I run simulate example  on Windows Host, and move focus to Virtualbox guest, the Virtualbox guest can not receive the keyboard input.
sleep 5; cargo run --example simulate

https://github.com/rustdesk/rustdesk/issues/366#issuecomment-1019758259


Wrap GPG operations that need a private key

GPG.SignMessage(io.Reader, w io.Writer)
GPG.Decrypt(encryptedMessage io.Reader, w ioWriter)
GPG.SignUserID(...)

Done!


Remove else conditions

This PR has the objective of removing else conditions in the code, either by applying the return early pattern or by adding ternary operators, this helps to reduce the cyclomatic complexity of the code

Coverage decreased (-0.003%) to 97.811% when pulling d4199f4e8e261cedc58213651b59ae3d410e408f on omarkdev:3.x-remove-else into 6d347477d09ab7910e625cee74c8108b7b85c7f9 on slimphp:3.x.

People, please stop with this "no else" trend. The current code is fine.
Jeffrey Way should make an official statement to urge people to stop with this...

I'm mildly confused why you think someone who is involved with a completely different project should make such a statement rather than one of the leadership of this project :)


Should we even care what the type of the Error is?

See here: https://github.com/sindresorhus/eslint-plugin-xo/blob/master/rules/throw-new-error.js#L3-L11
We filter on only that list of Errors. Shouldn't we just be asking that they either:

Rethrow an error that was passed in.
Use new

All these should be an error, right:
throw 'foo';
throw {};
var x = [];
throw x;

That last one might be hard to detect. So maybe throwing an identifier is just allowed, and we don't try static analysis.
I guess it would prevent this:
throw utils.buildError()

But I think that's an odd construct.

@jamestalmage ESLint already handles the case of throwing a non-error: http://eslint.org/docs/rules/no-throw-literal

Ah. yeah. I guess this doesn't cover many other cases then.


Weird spacing on nested bulleted lists in docs?

I think I fixed this in a recent commit. Not on share yet I think

The fix for this has been deployed to Unison Share. Closing the ticket :)


#1502: Allow to use __( in twill properties.

Description
This pr aims to add support for using __('text') in simple properties.
It also removes the cleanup regex and replace it with null blade properties to make it easier to maintain.
Related Issues
fixes #1502

Hey @ifox
Can we set the laravel locale as well in our localization middleware?
What's the reason to have a custom locale implementation? Maybe you already explained before sorry.
    public function handle($request, Closure $next)
    {
        if ($request->user()->language) {
            config(['twill.locale' => $request->user()->language]);
        }

        return $next($request);
    }

The idea of having a custom locale within Twill is so that you can set it to a different locale than your main Laravel locale. For example, if you're building a website in French, you will set your Laravel locale to French, but you might decide to use Twill I'm English. And then since Twill users can set their own locale, I guess it made sense to introduce a dedicated locale. I'm open to discuss it.

Hey @ifox,
I believe with https://github.com/area17/twill/pull/1525 we can keep that behavior intact, but still use the standard local handling of Laravel.
We can of course keep twillTrans for compatability.


ERROR: IndexError

Hello!
I try to create a module to classify some object. When the training stage is finished, I want to test a single image and show visualizations.
I get an indexError: index 95 is out of bounds for axis 0 with size 95.

Any ideas what might be the issue here or how to further troubleshoot the problem?
Kind Regards
Liou

What version of DIGITS do you have? I think this was fixed in #326. That hasn't been pulled into a versioned release yet - just grab the current master branch and see if that fixes your problem.


[Feature Request] Included blocks of content fall back

Describe the feature you'd like
I am using the method outlined in #978, protecting pages and including them to give protect blocks of content still within the flow of an existing page, for example for admin info.
It would be great for somethings to be able to specify a fallback for a block of content so that if the included protect content can't be displayed because of permissions, we can leave a Please contact X for assistance message. This would ideally be specified at the inclusion tag level. This could take the form:
{{{@101*@1#blocked}}

In this example we are trying to include page 101, but if that is protected and you are not allowed to see it, display the blocked section from page 1. Exact syntax could be something cleaner but this would allow much more control over these sorts of things.
Describe the benefits this would bring to existing BookStack users
This would give much more exact control over what is displayed when content is protected and would allow us to give fallback information. Currently you can just include both pages but then people with access would see both pages content.
Can the goal of this request already be achieved via other means?
No, not that I am aware of.
Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
6 months to 1 year
Additional context
No response

Thanks for the request @JoeIzzard.
I'm hesitant to add features & grow the complexity of the include system since it's really a lesser know element meant for primarily for some power-user scenarios.
As an alternative, I'm thinking we could maybe offer a logical theme system event within the include system, that could allow for a variety of extension/customization such as this where really desired.

For us the inclusion system has little value beyond restricting content, we do use it for pure inclusions too but primarily access restriction.
The ability to do more of that through the logical theme system would definitely be a really good step although to me feels more like a plugin system, is that what the logical theme system is? It seems from what you linked to to do a lot of 'plugin' style things.

although to me feels more like a plugin system, is that what the logical theme system is?

Yeah, kind of. It's providing an interface for out-of-platform customization/extension, to allow things that may not be, are have not yet been, added within BookStack on your own instance, without altering core app files.
Not a full plugin system yet but may form the foundation for a more comprehensive plugin system in the future.

As mentioned above, I've now added a "page_include_parse" theme event for customization of page include logic, as the work done in #3698.
This will be part of the next feature release.
You will be able to achieve the core request here, after upgrade, with a logical theme system functions.php along the lines of this:
<?php

use BookStack\Entities\Models\Page;
use BookStack\Facades\Theme;
use BookStack\Theming\ThemeEvents;

// Provide fallback for not-found or empty include HTML content
Theme::listen(ThemeEvents::PAGE_INCLUDE_PARSE, function(string $tagReference, string $replacementHTML, Page $currentPage, ?Page $referencedPage) {
    if (empty($replacementHTML)) {
        return 'Included content could not be found, Please content x for assistance';
    }
});

I'm going to therefore close this off but if you need any help with adding the above, after the next feature release is available, feel free to comment here and mention me and I can provide some further guidance.


fixed import to be explicite relative - python 3 compatibility - clos…

…es #20

Weird, I thought we were using relative imports but it seemed to have snuck through on #19. /cc @pwilczynskiclearcode
https://github.com/twolfson/restructuredtext-lint/commit/78d705ebd0da7cc771b628795396d4ba3b77e94b#diff-e949ffe373262eec34e1a21f14ffcfa4L5
I will land this by the end of the weekend. For now, you can use an older version which uses relative imports (e.g. 0.11.3):
https://github.com/twolfson/restructuredtext-lint/blob/0.11.3/restructuredtext_lint/cli.py#L5

Ah, Travis CI is failing due to not being installed as a development package. Can you add a python setup.py develop to Travis CI?

Oh, never mind. It is there, strange. Can you update the from lint to a from restructuredtext_lint.lint?
from restructuredtext_lint.lint import lint_file

sure

updated both in cli module and in init to have them same throughout the package

Ah, thank you =) I too appreciate consistency. I still have the same ETA for the end of this weekend.

no problem :)

I wound up finding some free time tonight. This has been landed/released in 0.12.2. Thanks again for the patch =)


Can I update contacts?

How can I update existing contacts' names and numbers?

Work is in progress currently, need to write it in the proper way

Any idea when it will be completed ?


Rename role name; update with storage configuration; update vault ver…

…sion

The changes look good. I’ll pull this later and test it to make sure everything works, then I’ll merge it.


added stop loss validation to borrow and  multiply vaults

Added stop loss validation to borrow vaults
Added stop loss validation to multiply vaults

Changes 👷♀

- added stop loss validation to borrow and multiply flows
How to test 🧪

- locally / heroku
Definition of done ✔

[ ] Acceptance criteria for each issue met
[ ] Unit tests written where needed and passing
[ ] End-to-end tests for happy path
[ ] Documentation updated
[ ] Project builds without errors
[ ] Non-functional requirements met
[ ] Code reviewed and functionality tested by the reviewer (locally, Heroku, etc.)
[ ] Feature verified and accepted by Product Owner
[ ] Project deployed to production environment

If storybook worked this scenariou could be added there but we're not sure if we will continue using it


Prepare Binder repository

Can you please prepare  Binder as here? Maybe redundant if for example Jupyterbook in #1 is completed.

I prepared the environment.yml and added the badge to the README. I only  have problems setting the correct root-path.


Windowedfullscreen fix

this PR fixes #5228 when windowed full screen is pressed it will still show the task bar i fix that buy making it double click the windowed full screen so it will change its state twice (i used for loop for that)
How to test
go to setting go to video change to windowed then change to windowed full screen
because previously when you press windowed then press windowed fullscreen it will keep the task bar
Outstanding before merging
If anything. You can use neat checkboxes! Feel free to delete if not needed
[no ] Need to consider use case x
[no ] Still have to adjust the wiki doc
[no ] Will need translation work

Thanks for fixing this! The changes here are mostly fine but I cannot accept supressing checkstyle warnings for no good reason. Please try and fix those first.
For future reference, you do not need to open a new pull request every time you make changes. You can just push new commits to this pull request's branch and they will been shown here.

can you rereview it I did what you told me to do  and ty

I was all ready to approve this earlier but after testing it again it does not appear to work anymore? I was looking through the changes and it is puzzling. Did you test this version before submitting it?
The only difference I can see from your last pull request is that the following line is not run twice anymore. Could that be related?
https://github.com/MovingBlocks/Terasology/blob/072d20742eff71bc2f34f358af399b59ae2d375c/engine/src/main/java/org/terasology/engine/core/subsystem/lwjgl/LwjglDisplayDevice.java#L98

yes i did test it and it worked for me i will check it again when i am next to my laptop

@BenjaminAmos  hi there i found the problem and i posted a new commit if you can check it that would be great


mui-datatables not compiling due to missing module

The dist/index.js is importing an icon from MUI called FileDownload but it's not available anymore. Therefore, it's causing a compilation error due to the missing icon. When I changed it to another icon from MUI inside the dist/index.js file, my application compiled without errors.

Expected Behavior
To render without problems.
Current Behavior
Returns this error:
./node_modules/mui-datatables/dist/index.js Module not found: Can't resolve '@material-ui/icons/FileDownload' in '/home/adrian/Fingermark/cleanup/node_modules/mui-datatables/dist'
Steps to Reproduce (for bugs)

use mui-datatable
npm install
npm start

Your Environment

Tech
Version

Material-UI
3.9.0

MUI-Icons
3.0.2

MUI-datatables
2.0.0-beta.59

React
16.6.3

I'm in the same situation since this morning.

@stevenpersia I dropped mui-datatables altogether and just used the Material UI components altogether, it's extremely simple. Shoot me a message if you want some help sorting it out.

FileDownload is not in the latest release. @adriangabardo try deleting node_modules, package-lock.json and reinstalling.
 gregn  ~/code/test-bug  grep -Hr FileDownload node_modules/mui-datatables/dist/index.js
 gregn  ~/code/test-bug  1 

Not using the dependency anymore so can't test if that works. Thanks for the return though @gregnb.

I had the same issue, and what I did was the following :

Remove the mui-datatables entry from package.json
npm cache clear --force && npm dedupe (picked from various SO threads)
Remove node_modules folder and package-lock.json file
npm install --save mui-datatables

And it started working again. Thanks for the tips @gregnb !

Thank you for your fast answer @gregnb and for your proposal @adriangabardo. It works fine !

Try this solution but I'm back with 2.0.0-beta-54 ....

1.npm install
2. npm start
It worked.


⚠ Samsung has degraded performance

In e09bc32, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2139 ms

Resolved: Samsung performance has improved in f65ead7.


Still alive?

This project seems like it should have great promise, but there doesn't seem to be much activity. Is it still alive? Seeking maintainers? I would love to be able to write both back- and front-end in Elixir.

I haven't worked on this in a while. I think there are some changes that may need to occur to make it work with current elixir versions.
Since Lumen is a thing now, I've been focusing energy there

Lumen looks very cool, and a worthy project, for sure. Are the Gleam folks contributing, as well (I noticed it's in Rust)?
Thanks for the reply here. Maybe I'll have a look into what it would take to bring it current.


Fix AMD require call with three arguments

Please check if the PR fulfills these requirements

[x] Tests for the changes have been added (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

[x] Bugfix

What is the current behavior? (You can also link to an open issue here)
AMD require call with three arguments is not identified by webpack
https://github.com/webpack/webpack/issues/2641
What is the new behavior?
Third argument of AMD require call is used as .catch promise callback.
Does this PR introduce a breaking change?

[x] Yes
[ ] No
Impact: Originally RequireJS handles exception happened during module loading and exception thrown in loaded module, for example this exceptions will be handled by errorCallback:

require(['notExistingModule'], function() {}, function errorCallback(error) {
    console.error('Error happened during module loading');
    console.error(error);
});

// or

define('throwingModule', function() {
    throw new Error('Ooops, something really bad happened!');
});

require(['throwingModule'], function() {}, function errorCallback(error) {
    console.error('Error happened during module execution');
    console.error(error);
});

But any exception thrown in require callback will be unhandled,  i.e.
require(['someModule'], function(someModule) {
    throw new Error('Ooops, something really bad happened!'); // would cause unhandled exception in global scope
}, function errorCallback(error) {
    // would not be called
});

As i think there is no need to copy this behavior and it's better to handle these exceptions the same as others.

Migration path for existing applications: Expect that any exception thrown in require callback will be handled by default error callback or supplied errorCallback (3rd argument of require call)
Github Issue(s) this is regarding: #2641

Any chance for this to be reviewed and merged?

Sure, see my PR


uses or overrides a deprecated API. Recompile with -Xlint:deprecation for details.

I am getting error during Gradle build
/Volumes/D/www/js/uc_js/uc_reactnative/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java:
uses or overrides a deprecated API.
Recompile with -Xlint:deprecation for details.

Duplicate of #325


add function to reformat org-mode python source block

should I also add my copyright ?

hi 👋🏼 i see how this could be useful (though i don't use org-mode myself).
left a bunch of comments about the implementation

I'm sorry, not ready for review, I'm not at ease with this part of github UX for now.

I still do find it much easier to understand using the org-src--contents-area function. Here is another version using destructured pattern matching with only three lines of code, I don't think it's possible to get more simple and clear than that.

These last commits introduce back the save-mark-and-excursion wrapper, which was necessary.

thanks 🚀 merged!


personal peer network

This may have been asked already--I'm a bit unclear on how to set up a personal peer network if you want to connect a second computer that is not on the same wireless network.  I imagine the computer that has the Kinect connected to it has to be running off a server hosted on the same computer?  I think I'm not even sure where to start thinking about this.

If you want your server to be publicly available you have to put the server on the web. Kinectron uses PeerJS for its server. So you would need to create a publicly available PeerJS server.
Here are their instructions for the peerjs server: https://github.com/peers/peerjs-server
According to the PeerJS website they host a free cloud server (Go to the homepage and scroll to "If you don't want to run your own PeerServer, we offer a free cloud-hosted version of PeerServer. Official PeerServer!") but it appears to be a broken link. It looks like there is now someone actively maintaining the library. It might be helpful to reach out to them to see if the free cloud-hosted version is still available.
Once you have the server running, the instructions for adding it to Kinectron Server are #3 in the documentation here and for #3 in the documentation here for the Kinectron Client.
I'm closing this issue because writing a tutorial about this is already assigned to @montoyamoraga here. @profjere Please feel free to comment on that thread if you have additional questions or successes!


can't detect my DMK Z12GP031 after installation

Hallo,
I try to install the tiscamera on my Jetson Xavier NX on Ubuntu 18.04 for my DMK Z12GP031 camera. But i met the issue ,that  the "tcam-capture" software can't detect my camera.
First The cmake process are normal
student@nvidiajetson:~/Downloads/tiscamera/build$ sudo cmake -DBUILD_ARAVIS=ON -DBUILD_GST_1_0=ON -DBUILD_TOOLS=ON -DBUILD_V4L2=ON -DCMAKE_INSTALL_PREFIX=/usr ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GObject: /usr/include/glib-2.0
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found PYTHON_MODULE_PyQt5: /usr/lib/python3/dist-packages/PyQt5
-- Found PYTHON_MODULE_setuptools: /usr/lib/python3/dist-packages/setuptools
--
-- Build gstreamer-1.0 plugins:   ON
-- Support for GigE via aravis:   ON
-- Support for USB cameras:       ON
-- Support for LibUsb cameras:    ON
-- Build additional utilities:    ON
-- Build documentation            OFF
-- Build tests                    OFF
--
--
-- Installation prefix:           /usr
-- Installing binaries to:        /usr/bin
-- Installing libraries to:       /usr/lib
-- Installing header to:          /usr/include
-- Installing udev rules to:      /etc/udev/rules.d
-- Installing systemd units to:   /lib/systemd/system
-- Installing uvcdynctrl rules to:/usr/share/uvcdynctrl/data/199e
-- Installing desktop files to:   /usr/share/applications
-- Installing data files to:      /usr/share/theimagingsource/tiscamera
-- Installing gstreamer-1.0 to:   /usr/lib/aarch64-linux-gnu/gstreamer-1.0
-- Installing gobject-introspection to: /usr/share/gir-1.0
-- Installing introspection typelib to: /usr/lib/aarch64-linux-gnu/girepository-1.0
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/student/Downloads/tiscamera/build

Second ,by make process only the follow  warning
`
student@nvidiajetson:~/Downloads/tiscamera/build$ sudo make

[  4%] Performing build step for 'aravis'
Making all in src
  GEN      arvenumtypes.h
  GEN      arvenumtypes.c
**WARNING**: No file "arvenumtypes.h" found.
**WARNING**: No file "arvenumtypes.h" found.
  CC       arvenums.lo
  CC       arvdebug.lo
>>>
[ 34%] Generating Tcam-0.1.gir
g-ir-scanner: link: cc -o /home/student/Downloads/tiscamera/src/gobject/tmp-introspectndcyqeel/Tcam-0.1 /home/student/Downloads/tiscamera/src/gobject/tmp-introspectndcyqeel/Tcam-0.1.o -L. -Wl,-rpath,. -Wl,--no-as-needed -ltcamprop -L/home/student/Downloads/tiscamera/build/src/gobject -Wl,-rpath,/home/student/Downloads/tiscamera/build/src/gobject -lgio-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgobject-2.0 -lglib-2.0
tcamprop.c:147: **Warning**: Tcam: tcam_prop_get_tcam_menu_entries: unknown parameter 'name' in documentation comment, should be 'menu_name'
[ 34%] Generating Tcam-0.1.typelib

Then There is no further warning.
Third ,after i 100% install tiscamera , i try the gige-daemon,but it is not work as follow.
`
student@nvidiajetson:~/Downloads/tiscamera/build$ sudo systemctl daemon-reload
student@nvidiajetson:~/Downloads/tiscamera/build$ sudo systemctl enable gige-daemon.service
Failed to enable unit: Unit file gige-daemon.service does not exist.
student@nvidiajetson:~/Downloads/tiscamera/build$ sudo systemctl start gige-daemon.service
Failed to start gige-daemon.service: Unit gige-daemon.service not found.
`
But at the installation process , i have found the gige-daemon as follow.
`Scanning dependencies of target gige-daemon
[ 96%] Building CXX object tools/gige-daemon/CMakeFiles/gige-daemon.dir/main.cpp.o
[ 97%] Building CXX object tools/gige-daemon/CMakeFiles/gige-daemon.dir/CameraListHolder.cpp.o
[ 97%] Building CXX object tools/gige-daemon/CMakeFiles/gige-daemon.dir/DaemonClass.cpp.o
[ 98%] Linking CXX executable gige-daemon
[ 98%] Built target gige-daemon
Scanning dependencies of target tcam_gigewrapper

For further Attempt with gst-launch-1.0 tcambin ! videoconvert ! ximagesink It return the follow answer:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
Freeing pipeline ...

For ifconfig command
`eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 48:b0:2d:15:d7:62  txqueuelen 1000  (Ethernet)
        RX packets 15  bytes 2046 (2.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 567  bytes 103371 (103.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 37

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 2274  bytes 162437 (162.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2274  bytes 162437 (162.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rndis0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b2:01:94:70:ee:f1  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b2:01:94:70:ee:f3  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::b516:c10f:d99a:fb81  prefixlen 64  scopeid 0x20<link>
        ether d8:c0:a6:50:e7:9d  txqueuelen 1000  (Ethernet)
        RX packets 37525  bytes 46437723 (46.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17327  bytes 4079283 (4.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

How can i solve this issue?
Look forward to your answer.

I already answered to your email, therefore I close the case here.
It is always OK to write an email  or post here. You do not need to make a double request.
Stefan

Hallo Stefan，
The answer is for my early E-Mail  , which  I have finished already . The cmake parameter „avaris“ is set to “ON”as you Email and then I can all install rightly . The question on GitHub is different, which is occurred after install. The give-daemon is no work. The gst-Launch is not work too.For this one , i really don’t have idea. The details are in #406.
Look forward to your answer
Your sincerely
Tao
from Tao Chang

发件人: TIS-Stefan @.>
发送时间: Wednesday, April 28, 2021 12:34:22 PM
收件人: TheImagingSource/tiscamera @.>
抄送: Tao Chang @.>; Manual @.>
主题: Re: [TheImagingSource/tiscamera] can't detect my DMK Z12GP031 after installation (#406)
Closed #406https://github.com/TheImagingSource/tiscamera/issues/406.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/TheImagingSource/tiscamera/issues/406#event-4655977146, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AN25JI5KQGTD4IK4C5NX33LTK7QC5ANCNFSM43WSDCSQ.

Is the camera powered? Does the green LED on the RJ45 connector light constantly, while the yellow one blinks? If not, then you need either a Power Supply, a PoE Injector or a PoE Switch.
Then you must check the IP Adresses too. You may have a look at the document at https://s1-dl.theimagingsource.com/api/2.5/packages/publications/whitepapers-cameras/wpgigecamerastartup/4df6c9cb-9fb5-50d0-8b42-82259fd2124b/wpgigecamerastartup_1.0.en_US.pdf. There are many hints and trouble shooting. I hope, this will give an idea. If not. please continue asking!
Stefan

After rebuilding tiscamera the issue is sorted out.
Stefan


money: Value method improvement

use non-pointer as Value method receiver for convinence;
add types in error message.

:+1:  Thank you!

That was quick. Thank you for your awesome works.
On Tue, Aug 4, 2015 at 7:59 PM, Cyrill Schumacher<EMAIL_ADDRESS>wrote:

[image: :+1:] Thank you!
—
Reply to this email directly or view it on GitHub
https://github.com/corestoreio/csfw/pull/3#issuecomment-127577170.

--
Van Hu
Go Developer at The Plant


Can O' Spam: Watch lakeviewhotelkirkland.com

Can O' Spam requests the watch of the watch_keyword lakeviewhotelkirkland\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

lakeviewhotelkirkland\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Open Issue Counter becomes offset

Gitea version (or commit ref): 1.11.6 (I also had that in older versions)
Git version: /
Operating system: Ubuntu 18.04
Database:

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes: https://try.gitea.io/Alexzz/issue-confirm/issues
[ ] No
[ ] Not relevant

Log gist: /

Description
When closing issues using a commit message, for example Changed some stuff Closes #1 Closes #2, the open issue count does not change to portrait the new changes. This fixes itself when closing another issue manually using the webinterface.
Screenshots

try.gitea.io
Private installation

This still exists in the newest version I have updated to.

I have this issue in 1.12.4. But, if I close the issue with a pull request in the web interface, the number is not correct until I restart the server then the number is correct.

There is a cron (?) job running every 24 hours, to correct that value. The function is called CheckRepoStats.
In the Administration->Monitoring, there is a button for that: "Check all repository statistics".
I must admit, that I cannot find the root cause for the problem.

There is a cron (?) job running every 24 hours, to correct that value I was going to mention that as the server does not have to be restarted to fix this problem. It gets fixed after sometime.

 I cannot find the root cause for the problem. @warnat Have you thought about a caching issue?

there is someone working on.
see #10536

Duplicate of #10536


doc/nixos: Explain better NixOS specific Systemd stuff

Divide the "Service Management" chapter into two sections. The 1st (the
original) explaining General, not NixOS specific ways to interact with
Systemd. The 2nd section, explaining NixOS specific things worth
knowing.
Explain in the 2nd section a bit NixOS modules and services of Nixpkgs,
and mention systemd.user.services option. Give an example
demonstrating how to enable imperatively an upstream provided unit file
for a user. Explain why systemctl --user enable doesn't work for the
long term on NixOS.

Motivation for this change
My own confusion regarding the subject + https://discourse.nixos.org/t/how-to-enable-upstream-systemd-user-services-declaratively/7649/5 .
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Nit: systemd is spelled in lower case.

Correct. I've addressed that also in the parts I took as is.
Let's wait a bit on this PR, and see if anyone from https://github.com/NixOS/nixpkgs/issues/80038 will have something to comment / suggest to add.

I don't think there's anything more important to add and I think it's better to have this then nothing. Fixed the systemd spelling.

I agree, just fix the build error and I would merge.

Great. I fixed the typo and made sure it builds. Will wait for your final approval.


Binaries

Are the binaries somewhere I can easily download?

Here is the link: https://github.com/amithegde/AzureTableBrowser/raw/master/Binaries.zip
I also updated redme.md with link.

Thank you!


Single Instance, multi GPU XGBoost Example

Thanks for contributing this @mmccarty ! I realized that the examples in this repo are set to run on a single-GPU g4dn instance so there would be no benefit in this case from a LocalCUDACluster. We need to keep these examples on small (cheaper) machines to make sure users don't go over spending limits.
We do have another repo for more general notebooks that don't get pre-populated into user accounts: https://github.com/saturncloud/saturn-cloud-examples. Would you be able to open a PR to that repo instead? And add a small note at the top indicating which machine size you used for the Jupyter Server? This notebook would fit well in the machine_learning folder.
If we change the size of the machine for pre-packaged examples I'll make sure to put the notebook back here.

Good idea! Will do!


Fix Bug in cy.ExactMatch Command

I had changed the cy.ExactMatch command to behave more like the cy.contains command in terms of the number of elements it returns, however this caused too many tests to fail and the fix was necessary for only one function. So I worked out how to fix the issue for that one function without affecting all of the other tests.

:tada: This PR is included in version 0.413.0 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Adding dockerfiles

Made a ros2 foxy docker image with vnc.
Doesn't fully work (gazebo fails to open)

It works now.
package.xml in some packages need some minor fixes as rosdep can't find everything

Instructions:
Build with the image with:
    docker build -t lcas.lincoln.ac.uk/lcas/botanbot_lcas:docker .

Run with:
    docker-compose up

Open a browser and type: localhost:6080
Kill with:
    docker-compose down

Tested it and it works, this is really convenient to have, thanks @nikostsagk.
But I should mention that performance-wise, a native installation will be much more ideal.


How to preprocess the "src" value for img?

Is it possible to preprocess/change the "src" value for all my img tags in a text? something like

     text = "dfsfdsfds [img src='something.jpg']aaa[/img]"
     res = markdown.preprocess(text, "img") {|img| img["src"] = "some_path/" + img["src"] }.
                                  render

up

Hello @GildedHonour,
Actually you are not using the Markdown syntax to render images so I'm not sure what you are trying to achieve here but you would have to define a custom render and use the preprocess hook and a regular expression to change the value. Something like that maybe:
class CustomRender < Redcarpet::Render::HTML
  def preprocess(document)
    document.gsub!(%r{\[img src="([\w|\.]+)"\]([\w|\s]+)\[\/img\]}) do
      %(<img src="some_path/#{$1}" alt="#{$2}">)
    end

    document
  end
end

If you are using the regular Markdown syntax for image, then you can define the image(source, title, alt_text) callback and change the value of the source argument.
Sorry for the late answer but thanks for spotting this !


Miri false positive data race due to incorrect handling of fences

I don't actually understand any of what's going on in this case, just reporting this: https://github.com/crossbeam-rs/crossbeam/issues/838#issuecomment-1146679855
cc @kprotty in case I've summarized this wrong or you have a simple test case for this on hand

Cc @JCTyblaidd who wrote our data race detector

Here's a simple test based on the crossbeam-channel case:
use std::sync::Arc;
use std::sync::atomic::{AtomicUsize, Ordering, fence};
use std::time::Duration;
use std::thread;

#[test]
fn data_race() {
    static mut V: u32 = 0;
    let a = Arc::new(AtomicUsize::default());
    let b = a.clone();
    thread::spawn(move || {
        unsafe { V = 1 }
        b.store(1, Ordering::SeqCst);
    });
    thread::sleep(Duration::from_millis(100));
    fence(Ordering::SeqCst);
    a.load(Ordering::Relaxed);
    unsafe { V = 2 }
}

When executed with MIRIFLAGS="-Zmiri-disable-isolation" cargo miri test, it produces:
error: Undefined Behavior: Data race detected between Write on Thread(id = 0, name = "main") and Write on Thread(id = 1) at alloc1 (current vector clock = VClock([5]), conflicting timestamp = VClock([0, 8]))
  --> src/lib.rs:21:18
   |
21 |         unsafe { V = 2 }
   |                  ^^^^^ Data race detected between Write on Thread(id = 0, name = "main") and Write on Thread(id = 1) at alloc1 (current vector clock = VClock([5]), conflicting timestamp = VClock([0, 8]))
   |
   = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
   = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information

   = note: inside `tests::data_race` at src/lib.rs:21:18
note: inside closure at src/lib.rs:10:5
  --> src/lib.rs:10:5
   |
9  |       #[test]
   |       ------- in this procedural macro expansion
10 | /     fn data_race() {
11 | |         static mut V: u32 = 0;
12 | |         let a = Arc::new(AtomicUsize::default());
13 | |         let b = a.clone();
...  |
21 | |         unsafe { V = 2 }
22 | |     }
   | |_____^
   = note: this error originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)

note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace

error: aborting due to previous error; 1 warning emitted

But to tell the truth, I'm still in doubt that this is a false positive. As far as the documentation goes (both for the fence doc and in more details in the Atomic-fence synchronization chapter of the C++ memory model description), the synchronization between the atomic store and the fence is only guaranteed if the fence is sequenced-after the load.
And if we change
    fence(Ordering::SeqCst);
    a.load(Ordering::Relaxed);

to
    a.load(Ordering::Relaxed);
    fence(Ordering::SeqCst); // It can be Acquire

the data race warning is gone. But maybe I'm missing something here.

I think there is a race here in both cases (i.e., also the one where the warning is gone)? You are completely ignoring the result of the load, so a possible execution is

Thread A does fence(Ordering::SeqCst)
Thread A does load(Ordering::Relaxed), reads 0
Thread B does V = 1
Thread A does V = 2 -- there i no synchronization with the thread B write that just happened, so this is a race

I guess you meant something more like this](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=c145791d053a24a28cfe30e3510af8d7) where we check that the load loads 1.
But in that case, we still have this valid execution:

Thread A does fence(Ordering::SeqCst)
Thread B does V = 1
Thread B does store(1, Ordering::SeqCst)
Thread A does load(Ordering::Relaxed), reads 1
Thread A does V = 2

The load at (4) is relaxed so it doesn't pick up any synchronization. Therefore the two accesses to V are not synchronized and I would say this is a data race.

the synchronization between the atomic store and the fence is only guaranteed if the fence is sequenced-after the load.

@alygin You're right. The correct use of the fence passes miri while having it before the load doesn't.
fn main() {
    use std::{
        sync::atomic::{fence, AtomicUsize, Ordering},
        sync::Arc,
        thread,
    };

    static mut V: u32 = 0;
    let a = Arc::new(AtomicUsize::default());
    let b = a.clone();

    thread::spawn(move || {
        unsafe { V = 1 };
        b.store(1, Ordering::SeqCst);
    });

    loop {
        if a.load(Ordering::Relaxed) == 1 {
            fence(Ordering::SeqCst);
            return unsafe { V = 2 };
        } else {
            thread::yield_now(); // for miri
        }
    }
}

After some thought, the crossbeam code is fine to race as drop() isn't necessarily a synchronization point (which the test case was trying to use as such).

Closing as works-as-intended then. And I'll add this as a testcase. :)


Upgraded UI, Options, etc.

Added 3 hour graph option. Ability to use any Nightscout server URL. Cleaned up UI

It's not clear what failed the Build and Test check. I'm happy to make updates as needed but need some help figuring out what the issue is.

This app will need access to a valid Nightscout instance. (Nightscout is a service that, among other things, compiles, stores, and reports on blood sugar data). I can provide a valid URL if one is needed. I also have a blind spot when it comes to setting up the config schema so that the options display correctly when the app is served from the Tidbyt server. Help here is welcome and appreciated.

@jer-tav tagging you here so you're aware of this PR

I can’t speak to the whole user base but not all users are on heruko. Many
are on DIY instances. Lots are at t1pal.com
I’d argue that you couldn’t point this to any json feed because you’d need
fields named svg and date.
There are some gaps in this code though that I think still need to be
address and that I’m working on locally, including what to do if there are
duplicate entries (like if both loop and Dexcom are feeding Nightscout with
entries) and what to do when there are no readings or gaps in readings. I’m
still working this out but I’m close.
On Thu, Aug 4, 2022 at 1:02 PM Mark Spicer @.***> wrote:

@.**** requested changes on this pull request.
Hey there! Thanks so much for the changes to this app. The only blockers
here is changing the schema field to mean something else and allowing the
user to enter an arbitrary URL - which are part of the same change. Is
there a large user base of nightscout that is not running on Heroku?
In apps/nightscout/nightscout.star
https://github.com/tidbyt/community/pull/536#discussion_r938150659:

@@ -161,8 +383,8 @@ def get_schema():

         ),

         schema.Text(

             id = "nightscout_id",

           name = "Nightscout ID",

           desc = "Your Nightscout ID (i.e. XXX in https://XXX.herokuapp.com/api/v1/entries.json)",

           name = "Nightscout URL",

This field really can't change. It would break anyones installation who
has this app currently installed on their Tidbyt.
In apps/nightscout/nightscout.star
https://github.com/tidbyt/community/pull/536#discussion_r938155813:

@@ -205,7 +433,11 @@ def get_nightscout_data(nightscout_id):

 # If it's not in the cache, construct it from a response.

 print("Miss - calling Nightscout API")

nightscout_url = "https://" + nightscout_id + ".herokuapp.com/api/v1/entries.json"

#nightscout_url = "https://" + nightscout_id + "/api/v1/entries.json?count="+str(GRAPH_WIDTH)

nightscout_url = "https://" + nightscout_id + "/api/v1/entries/sgv.json?find[date][$gte]=" + str((OLDEST_READING_TARGET.unix) * 1000) + "&count=" + str(GRAPH_WIDTH)

nightscout_id really can't be a full URL. It would mean someone could use
this app to make HTTP requests to any web service on the internet,
regardless of whether it's running Nightscout or not 🙀. We had a pretty
long conversation internally the first time around with being able to make
an HTTP request to any herokuapp and felt the app was important enough to
take on the risk. Any reason the current implementation doesn't work?
—
Reply to this email directly, view it on GitHub
https://github.com/tidbyt/community/pull/536#pullrequestreview-1062452321,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYE3ZK5GXN5HEPZLN6SLQNTVXQHTFANCNFSM5353CZAA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
—
Paul

I've tried pushing some commits but seem to have failed some checks.
Also, I need help updating the schema (settings) and wonder if someone would be able to help me make that right.

The build test is failing because it does not like the icon inputNumeric, you typed it in wrong but it looks like that is not a free icon from fontAwesome, you'll have to choose an icon that is free. That should fix the build-test check.

Would you mind taking a stab at the whole settings section. It’s a total
blind spot for me as I have no way to visualize it and no experience with
what it’s supposed to look like.
On Wed, Aug 17, 2022 at 8:41 AM rs7q5 @.***> wrote:

The build test is failing because it does not like the icon inputNumeric,
you typed it in wrong but it looks like that is not a free icon from
fontAwesome, you'll have to choose an icon that is free. That should fix
the build-test check.
—
Reply to this email directly, view it on GitHub
https://github.com/tidbyt/community/pull/536#issuecomment-1218103893,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYE3ZK5E76KFP5KM7GXPUELVZT2YJANCNFSM5353CZAA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
—
Paul

What do you mean? You should be able to test it using pixlet serve.  but based on the details of the build-and-test check if you changed the icon to something like "gear" it should pass the checks I think. You can choose pretty much any free icon there.
Like I am not sure what you want me to test.

What I mean is that pixlet render and pixlet serve don’t call the schema
method so there’s no mechanism for seeing how the confit fields actually
render or if the field types are correct, etc. And since I’ve never built
an app before, it’s not clear to me what’s right and what’s wrong. I can
easily change the icon to “gear” as you suggest but that doesn’t help me
understand what that section of code is even doing.
On Wed, Aug 17, 2022 at 10:48 AM rs7q5 @.***> wrote:

What do you mean? You should be able to test it using pixlet serve. but
based on the details of the build-and-test check if you changed the icon to
something like "gear" it should pass the checks I think. You can choose
pretty much any free icon there.
Like I am not sure what you want me to test.
—
Reply to this email directly, view it on GitHub
https://github.com/tidbyt/community/pull/536#issuecomment-1218264987,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYE3ZK7B2ORVBUHLICGMEL3VZUJVBANCNFSM5353CZAA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
—
Paul

I pushed a commit to clean up that settings schema section. I am only guessing at all that since there's no way to render and interact with the settings in a local pixlet serve setup... so if someone wants to look that over and reassure me that it looks good, it would be appreciated.

pixlet serve allows you to interact with some settings in a local host web browser to play with your settings. I think location may be the only one you can't check with it, I can't remember. The issue with your build-and-test is because of that icon thing (I found it by clicking details next to the failed test and it shows a log of what tests it ran, usually just search for Fail or something to find what it is mad about).
Are you just having issues itself with pixlet serve? That could be a separate issue from the script itself.

pixlet serve allows you to interact with some settings in a local host web browser to play with your settings. I think location may be the only one you can't check with it, I can't remember. The issue with your build-and-test is because of that icon thing (I found it by clicking details next to the failed test and it shows a log of what tests it ran, usually just search for Fail or something to find what it is mad about).
Are you just having issues itself with pixlet serve? That could be a separate issue from the script itself.

Really, I'm just new to this. I expect pixlet is running fine but I don't know what I'm doing :) I'll look into it.

pixlet serve may fail because of the icon too btw, so you still need to change that. no big deal, we were all new at one point.

@betterengineering - Any thoughts on my responses above?


Make exception for numbers in filename-case. Fixes #25

Make exception for numbers in filename-case. Fixes #25.
This should allow (depending on the case) both iss47 and iss-47. Let me know what you guys think.

I tried using the backspace character as a placeholder, but it doesn't work. I use \uFFFF now, which does the trick. Open to suggestions from more unicode-aware people.

Perfect. Thanks for fixing @jfmengels :)

No problem :)
Will try to play with the lodash underscore prefixed files tonight


apply command to directly overwrite an environment

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
I'd like to apply my environment YAML file kubectl-style, e.g.:
pulumi env apply my-org/my-env -f environment.yaml

Ideally, I would also like it to create the environment if not already created.

Affected area/feature

I'd prefer we not add a command that does this. How about extending the behavior of the env edit command s.t. it can take a -f flag instead of using an editor and something like a -c flag that indicates that the environment should be created if it does not exist?

Or even just a -f flag to env init.

Thanks, Pat! After editing an environment many times, I can say that I definitely also want edit -f with a clobber (no merge). Would love it if the default behavior for edit -f also did init if not done already.


[FEATURE] Async Operations for Extensions

This issue provides 4 options for enabling the use-case of running jobs asynchronously for extensions along with their pros and cons. A full solution for extensions long-term could combine a few of the options presented in this document. The 4 options are:

Auth Tokens
API Keys
OAuth Tokens
Passing a token upon job invocation via Job Scheduler (Just in Time token)

See each respective section for more details of each solution and the appendix for additional discussion on service account tokens for extensions to interact with their own system indices.
Problem Statement
The first milestone for extensions includes the conversion of the Anomaly Detection (AD) backend from a plugin to an extension. AD has a requirement to run jobs on behalf of a user on a schedule to monitor indices in a cluster for a detector. In the plugin model, AD serializes the user (including roles and backend roles) upon detector creation and saves it as part of the detector metadata. When it comes time to run the detector, the AD plugin performs roles injection to evaluate the permissions of a dedicated user (called plugin) with the roles stored in the detector’s metadata. This will not work for AD running as an extension because an extension will be treated as third-party and roles information will not be shared with the extension unless running in a legacy plugin compatibility mode. There will be no plugin equivalent to roles injection in favor of the extension submitting requests to the OpenSearch cluster that contain an auth token that can be used to authenticate and authorize each request.
More generally, outside of the Anomaly Detection use-case, the extensions and security team needs to provide guidance for extensions developers on how to implement extensions that want to interact with the OpenSearch cluster asynchronously. When writing software that utilizes an OpenSearch client, developers will typically configure the client with a username and password that is defined in the internal user list of OpenSearch. This will not work for extensions. The password and other sensitive information will remain internal to OpenSearch and never shared with an extension. An alternative approach for asynchronous jobs needs to be developed.
Options
Option 1: Auth Tokens
Auth Tokens are tokens that: 1) Confer access to the cluster and are associated with a user, 2) have a defined lifetime (could also be indefinite, but that is discouraged) 3) have authorizations associated with them that are a subset of the creator of the token at the time the token is created, 4) come with a management suite of APIs to Grant, Revoke, List and Search.
Pros:

Changes to clients should not be required as it utilizes Bearer authentication, a recognized standard
Have scopes which limit their capabilities
Can utilize the existing JWT Authentication Backend in the security plugin

Cons:

Long-lived tokens are discouraged
UX considerations for token expiration scenarios
If roles can be designated for the token at time of creation, then it could lead to confusing user experiences if the underlying role’s permissions change and ramifications for a previously created token.

Option 2: API Keys
API Keys are: 1) A mechanism for services to authenticate and authorize, 2) can be indefinite or have a designated lifetime, 3) have authorizations associated with them that are a subset of the creator of the API Key, 4) may have additional restrictions on which APIs that ApiKey authentication is permissible for, 5) come with a management suite of APIs to Create, Invalidate, List and Search.
Pros:

Do not require rotation for expiry (could be a con as well)
Highly requested feature of the Security plugin: https://github.com/opensearch-project/security/issues/1504
API Keys could be utilized to improve current plugin security by providing an off-ramp for stashing the ThreadContext
API Keys are considered simple compared to OAuth tokens

Cons

API Keys are not generally considered secure
If compromised, an API Key has an indefinite life and will confer access until explicitly revoked by an administrator
API Keys identify projects, not users
May require client modification to support ApiKey authentication

Option 3: OAuth Tokens
OAuth Tokens are: 1) Short-lived access tokens and longer-liver refresh tokens that can be used to act on behalf of a user asynchronously, 2) Access token is only valid for a short window and refresh token can be utilized to get new access token and a new refresh token, 3) if user grants the extension to act on their behalf then the extension can store the refresh token and use it asynchronously to get access tokens for the user, 4) the user will grant the extension to act on its behalf, 5) the user needs to re-grant the extension the ability to act on its behalf at time of expiration of the absolute lifetime of the tokens, 5) admin has the ability to revoke authorization based on extension
Pros:

Allows explicit consent by the user to share data with third-party
A refresh_token that changes periodically solves for issues with API Keys having indefinite access
Generally recommended as a best practice

Cons

More complicated than API Key security - TODO: expand upon this with scope of authorization_code flow and addition work items
Requires client modification to work with OAuth2 token workflows
Extensions developers need guidance on how to develop with OAuth tokens

Option 4:  Passing a short-lived token to an extension through job scheduler invocation (Recommended)
(Needs further analysis) An alternative to all 3 options above would be to generate a token in core and forward the token to the extension when the job is invoked. Job Scheduler is moving to core and there is a possibility that job scheduler will be the mechanism for triggering jobs registered by extensions. If this is the case, then a token can be created when the job is invoked and passed to the extension. Just-in-time tokens will be used for handling REST Requests so this is a similar pattern of issuing a token exactly when it is needed.
Pros:

Similar to support for Extension REST Handlers and will allow for code re-use
No client modification and consistent behavior with Extension REST Handlers
More secure approach as core will determine how long the lifetime of the token forwarded to the extension will be

Cons

Long-living jobs may require longer-lived tokens
Still no mechanism for services to connect with cluster outside of client being registered with a username and password
Tokens are not revocable

Appendix
System Index Interaction
One of the challenges with converting plugins to extensions is the use-case of registering and interacting with system indices. Currently, plugins elevate their own privileges by stashing the ThreadContext and creating or writing to their system index in the cleared context. By clearing the context, plugins are able to in effect act as a superuser and bypass checks in the Security plugin. This will not work for extensions as they will initially be run out-of-process.
For extensions, there needs to be a mechanism to allow the extension to interact with the cluster as itself to create and write to its own indices for storage if the extension developer chooses to use OpenSearch for persistence. One solution for this could be Service Accounts and tokens for those accounts where the extension can bear a token that represents itself when making requests to the OpenSearch cluster. This token would give it hyper-localized privileges to only be able to interact with its own system indices and no others.
Additional Considerations

Tokens associated with a user should be automatically revoked when the user’s authorizations have changed or if the user’s password has changed. (May be too draconian - needs more thought/configuration)
To invalidate a JWT before expiry means that a list of invalidated tokens needs to be maintained to check to see if a token has been invalidated, otherwise the token is valid until expiry.

References

https://github.com/opensearch-project/security/issues/1504 - Request in the Security backlog for API Keys

I'm sold on Just-in-Time tokens

Aligns with On-Behalf-Of pattern discussed in a non on GitHub document
Zero human overhead
Stateless

Additionally choosing Just-in-Time tokens, does not preclude other authentication schemas at a future time.
I'd love for to see plans for implementation, let me know if I can help get facilitate.

Issue feedback:
Thanks for writing this up, I would recommend doing some tightening/rearranging
I don't think this title represents what this issue discusses and recommends - is there a meta issue around support for async tasks, then could we rename the issue?
In the Problem statement - can you slim down this section? The four options you are discussion are how authentication information is passed to an OpenSearch cluster from an extension - all the extra detail is makes this hard to parse.  What do you think about moving these extra detail to an apendx/additional context section at the end.
In Option 4, there is a comment (Needs further analysis) . Is this still accurate, if so what additional information do you need?

@cwperks From our discussion this afternoon
As per the discussion in https://github.com/opensearch-project/OpenSearch/issues/5310, it looks like the Job Scheduler might become a core feature in OpenSearch. We need to figure out how the Job Scheduler will store the principals of the job that is going to execute. E.g. should we need to encrypt those principals as encrypted principal identifier tokens?
I have a few questions related to Job Scheduler authentication that I hope we can address:

What happens when a plugin is called by Job Scheduler to execute a job and there is an principal associated with it?
How do we know which extension the JIT token is issued for when an extension is called by Job Scheduler to execute a job?
What happens if the user is deleted, or if there are error states around authentication?

Jotting down a few notes for how this works in the plugin architecture of OpenSearch. Primarily, Jobs running asynchronously that want to simulate a user's privileges will utilize Roles Injection and create an in-memory user called plugin and evaluate that user's privileges with the roles that were injected. In the case for Anomaly Detection, the roles injected into the ThreadContext are the user's roles (post roles resolution) and the request initiated by the plugin runs in that context.
Relevant areas to look at:

Common-utils.injectRoles - https://github.com/opensearch-project/common-utils/blob/main/src/main/java/org/opensearch/commons/InjectSecurity.java#L126-L140
PrivilegesEvaluator.setUserInfoInThreadContext - https://github.com/opensearch-project/security/blob/main/src/main/java/org/opensearch/security/privileges/PrivilegesEvaluator.java#L198-L210
AnomalyDetectorJobRunner.runAnomalyDetectionJob - https://github.com/opensearch-project/anomaly-detection/blob/main/src/main/java/org/opensearch/ad/AnomalyDetectorJobRunner.java#L298-L353

Where does AD store the user info when a detector is created?
A: Anomaly Detection stores this info with the detector metadata in the ANOMALY_DETECTORS_INDEX = .opendistro-anomaly-detectors
See: https://github.com/opensearch-project/anomaly-detection/blob/main/src/main/java/org/opensearch/ad/rest/handler/AbstractAnomalyDetectorActionHandler.java#L795-L823
How does Job Scheduler work in the plugin model and how is it connected to AD?
A: JobScheduler is an ExtensiblePlugin meaning that other plugins can extend an interface created by JobScheduler. The extension point is called JobSchedulerExtension and implementers of this extension point must implement 4 methods: 1. getJobType(), 2. getJobIndex(), 3. getJobRunner() and 4. getJobParser()
See the extensible interface here: https://github.com/opensearch-project/job-scheduler/blob/main/spi/src/main/java/org/opensearch/jobscheduler/spi/JobSchedulerExtension.java
The getJobIndex() is important here because this is where JS expects to find information about the schedule of the job. (*: Job Scheduler does not own this index - this is what JS is told to read from.)
See how AD extends this extension point here: https://github.com/opensearch-project/anomaly-detection/blob/main/src/main/java/org/opensearch/ad/AnomalyDetectorPlugin.java#L1011-L1027
@Override
public String getJobIndex() {
    return AnomalyDetectorJob.ANOMALY_DETECTOR_JOB_INDEX;
}

@Override
public ScheduledJobRunner getJobRunner() {
    return AnomalyDetectorJobRunner.getJobRunnerInstance();
}

@Override
public ScheduledJobParser getJobParser() {
    return (parser, id, jobDocVersion) -> {
        XContentParserUtils.ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser);
        return AnomalyDetectorJob.parse(parser);
    };
}

ANOMALY_DETECTOR_JOB_INDEX is .opendistro-anomaly-detector-jobs - this index is in the list of system indices of the security plugin: https://github.com/opensearch-project/security/blob/main/tools/install_demo_configuration.sh#L386
How does the Job Scheduler job sweeper work?
The sweep iterates through the list of plugins that have extended the JobSchedulerExtension and keeps a registry of indexToProviders - a map from the registered indices of getJobIndex to a SchedulerJobProvider. For each iteration the sweeper does a SearchRequest (https://github.com/opensearch-project/job-scheduler/blob/main/src/main/java/org/opensearch/jobscheduler/sweeper/JobSweeper.java#L391-L400) and parses the results with the getJobParser() implementation. (Note: I am not positive how this SearchRequest is authorized since its searching a system index - I will follow-up with more details)
This is the line that parses the job: https://github.com/opensearch-project/job-scheduler/blob/main/src/main/java/org/opensearch/jobscheduler/sweeper/JobSweeper.java#L262
ScheduledJobParameter jobParameter = provider.getJobParser().parse(parser, docId, jobDocVersion);

See relevant lines in AnomalyDetectorJob.parse that parses out the schedule: https://github.com/opensearch-project/anomaly-detection/blob/main/src/main/java/org/opensearch/ad/model/AnomalyDetectorJob.java#L192-L194
case SCHEDULE_FIELD: // SCHEDULE_FIELD = schedule
      schedule = ScheduleParser.parse(parser); // ScheduleParser is imported from JS
      break;

Note: The job parser also parses the user from the persistence document for the job in the ad jobs index.
a few lines down it also calls getJobRunner(): https://github.com/opensearch-project/job-scheduler/blob/main/src/main/java/org/opensearch/jobscheduler/sweeper/JobSweeper.java#L267
ScheduledJobRunner jobRunner = this.indexToProviders.get(shardId.getIndexName()).getJobRunner();

The JobRunner is a singleton class that implements JS' ScheduledJobRunner: https://github.com/opensearch-project/job-scheduler/blob/main/spi/src/main/java/org/opensearch/jobscheduler/spi/ScheduledJobRunner.java
This is a simple interface that has one method to implement: runJob
For getJobType AD simply returns opendistro_anomaly_detector.

@peternied @opensearch-project/security Thank you for the help with the decision to go with just-in-time (JWT) tokens for the design. Just-in-time tokens will have a very similar flow to extension REST handlers that @RyanL1997 is leading so there will be a great amount of re-use. I have some follow-up decisions that I'd like to make to finish scoping out work items and here is what I propose to get this accomplished.
tldr; version Since jobs are created via extension REST handlers, I am proposing that for handlers responsibility for creating jobs that the security plugin provides a refresh token to the extension to store with the schedule definition for the job.
On job scheduler invocation, JS will ask security to issue a new access token given this refresh token. The access token will be forwarded to the extension so that the job can run.
The refresh token cannot be used for REST requests, its only use is for JS requesting a new access token on behalf of a user.

Longer version
Extensions will have a special index to store jobs definitions in. Part of those jobs definitions includes information about the schedule for JS. As part of this change the jobs definition will also store this refresh token as part of the schedule.
 *       "schedule":{ // required when triggerType is CronSchedule or IntervalSchedule
 *           "refresh_token": "<refresh_token>"
 *           "cron":{ // required when triggerType is CronSchedule
 *               "expression":"0 * * * *",
 *               "timezone":"PST"
 *           },
 *           "interval":{ // required when triggerType is IntervalSchedule
 *               "start_time":1603506908773,
 *               "period":10",
 *               "unit":"Minutes"
 *           }
 *       }

JS will parse this schedule and read from the refresh token. A new interface for the plugin will be exposed in core via the IdentityPlugin interface. This will allow JS to request the issuance of a new access token to forward to the extension.
Initially, I am thinking that refresh tokens are indefinite JWTs that have a claim that identifies it as a refresh token. The encrypted (mapped) roles and backend roles will be claims in the refresh token so that they can be used to add the claims back into the new access token.
One of the challenges I am currently facing is how JS and the security plugin will interact so that JS and request the issuance of a new access token. I will provide more details shortly, this is a preliminary design.


Exec format error

What happened?

Steps to reproduce

OS: WSL1 Ubuntu 22.04.4 LTS
devbox add nodejs
devbox shell
node

Command
No response
devbox.json
{
  "$schema":  "https://raw.githubusercontent.com/jetpack-io/devbox/0.10.3/.schema/devbox.schema.json",
  "packages"<EMAIL_ADDRESS>  "shell": {
    "init_hook": [
      "echo 'Welcome to devbox!' > /dev/null"
    ],
    "scripts": {
      "test": [
        "echo \"Error: no test specified\" && exit 1"
      ]
    }
  }
}

Devbox version
0.10.3
Nix version
No response
What system does this bug occur on?
Linux (x86-64)
Debug logs
No response

I think this is a known issue with WSL 1 + NodeJS, and not with Devbox. https://stackoverflow.com/questions/73616907/how-to-use-node-in-wsl-zsh-exec-format-error-node
We currently only recommend and support WSL 2. Nix does not work out of the box with WSL 1, and requires a few workarounds to get things working correctly: https://nixos.wiki/wiki/Nix_Installation_Guide#Windows_Subsystem_for_Linux_.28WSL.29

Thank you, I will switch to wsl2.


HTML5 target text field size render issue

openfl 3.3.0
lime 2.5.3
Chrome, Firefox
It seems to me that textWidth/textHeight are reporting bad values (for example เล่นอัตโนมัติ). I tested it with openfl 3.2.2 and it works correctly.

Does this appear to affect only unicode text? Are there issues with ANSI (a-z, 0-9) text that you can tell?

Also having an issue with this.
openfl 3.2.2
lime 2.5.2
safari
In Chrome and IE, the text fields look alright as far as their render size goes. They are centered vertically. In Safari, the text is bottom aligned and characters that drop, like g or p, get cut off.
I used the backgroundColor/background properties of TextField to draw the background region to the screen in these cases.
Chrome/IE results:

Safari results:

from the looks like it's not taking the descender metric into account, or something?

@jonnym1p Could you take a look at this code? https://github.com/openfl/openfl/blob/master/openfl/_internal/renderer/canvas/CanvasTextField.hx#L225
Does setting this to true in Safari fix it?

I believe that line was added after the openfl version that my project was on (it doesn't exist in my source code, but does in openfl 3.3.3). I'll see if I can recompile with openfl's latest so I can modify that condition to true. That said, I use that same regex elsewhere in my code and it seems to work just fine.
You'll also notice in my above images that the render rect is shifted up, opposed to it just cutting off the descender.

I think this was resolved, if not please open a new issue with some sample code we can use to reproduce :smile:


DCPfixity - Add hashing for fonts

Requires uuid extraction from fonts. Is this possible? Ask someone who knows.

Turns out it didn't require any uuid extraction from fonts. Instead, I got all the info from the assemap.


Question: Potential issue with error mutex?

Hello GLFW team,
I was looking through the code of GLFW 3.4 and was a bit confused by the following lines in _glfwInputError in init.c:
            error = _glfw_calloc(1, sizeof(_GLFWerror));
            _glfwPlatformSetTls(&_glfw.errorSlot, error);
            _glfwPlatformLockMutex(&_glfw.errorLock);
            error->next = _glfw.errorListHead;
            _glfw.errorListHead = error;
            _glfwPlatformUnlockMutex(&_glfw.errorLock);

It seems like the value of the at the errorslot is set to the local allocation before the mutex is set. If I understand it correctly, the slot should be locked by the mutex. Was this just a confusion on my part? I would have expected something like:
            error = _glfw_calloc(1, sizeof(_GLFWerror));
            _glfwPlatformLockMutex(&_glfw.errorLock);
            _glfwPlatformSetTls(&_glfw.errorSlot, error);
            error->next = _glfw.errorListHead;
            _glfw.errorListHead = error;
            _glfwPlatformUnlockMutex(&_glfw.errorLock);

instead. If this is intentional, maybe a comment here would also help other people trying to understand and/or refactor the GLFW code for their own needs.
With regards,
Hypatia of Sva.

_glfwPlatformSetTls sets a value that is in the thread local storage (that's what Tls stands for). So each thread has its own and no locking is needed.
The code within the mutex section is collecting the _GLFWerror structs from all threads together in a global linked list (so they can be freed later without relying on each thread), so it needs to to be properly synchronized.

As @combolek mentions _glfwPlatformSetTls operates on thread local storage and does not need to be synchronized.


Create different networks from genetic circuit

Is your feature request related to a problem? Please describe.
There is a lack of analysis tools.
Describe the solution you'd like
I want to create networks using TU as node or as edge (provide this options) to analyze the genetic circuit using network tools. These methods could be used by others like a GNN (graph nets).
Describe alternatives you've considered
No
Additional context
No

Solved using nodes for each object


increase read chunk size from 1 KB to 4 MB

Otherwise running command below as part of nc_test/run_inmemory.sh can
be very slow
./tst_diskless4 500000000 opendiskless

But why does only the parallel build hang on this?

It did not fail for me. make check ran fine without errors.
I did add --enable-parallel-tests in my configure command.
It appears to me nc_test/run_inmemory.sh and run_diskless2.sh
are to be run in sequential.

Without this PR, make check did not hang, but just ran very slowly.

FYI. In the HDF5 in-memory I/O implementation, the file is read into the memory
in chunks. If the file size (obtained from stat.st_size) is smaller than INT_MAX,
then the entire file is read in one chunk, i.e. a single call to read(). Otherwise, the
chunk size is set to INT_MAX.
https://github.com/HDFGroup/hdf5/blob/08861aa903510e9f7ba89f79590f852e5aae1f37/src/H5FDcore.c#L910-L923
I also notice that NetCDF is using fopen and fread which can be slower than open and read.

I re-ran, but we continue to see failures in the MinGW64-based tests for this fix.

The mingw test succeeds with a value of 1048576 (1<<20),
but fails with 1<<21 or 1<<22 (4194304)
The question is: is a block size of 1<<20 sufficient to fix the original problem?

The question is: is a block size of 1<<20 sufficient to fix the original problem?

The question is, unless it's expected to fail with 1<<21 or 1<<22 (4194304), I'd really want to figure out the root cause of the failure.

The mingw test succeeds with a value of 1048576 (1<<20), but fails with 1<<21 or 1<<22 (4194304) The question is: is a block size of 1<<20 sufficient to fix the original problem?

@DennisHeimbigner is this still the case? It appears to be working on MinGW64/MSYS2 as is (1<<22 (4194304)), but I wonder if you are seeing an issue still, or perhaps your dev environment is MinGW (32-bit)?  I'd like to merge this, but want to make sure we don't have a hidden failure state out there that I'd be ignoring.


Mirrored repositories fail when /etc/ssl/certs forwarded from host

Description
I have a gitea repo setup with a git+https push-mirror enabled. Trying to update the remote repo results in an error with the tooltip text: push failed: fatal: unable to access 'https://git.example.com/user/repo/': error setting certificate file: /etc/ssl/certs/ca-certificates.crt
I had the system /etc/ssl/certs forwarded from the host as read-only since I have my own certificate authority, gitea only tries to use /etc/ssl/certs/ca-certificates.crt and fails if it does not exist. I've also tried binding /etc/ssl and /etc/pki but gitea doesn't seem to look for any other valid cert chains.
Gitea Version
1.22.0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
n/a
Operating System
Fedora Server 39
How are you running Gitea?
latest-rootless with podman
Database
MySQL/MariaDB

This is all golang behaviour I think, and I don't think we can/should change that. For reference:
https://go.dev/src/crypto/x509/root_linux.go


Use browser notification API to show alerts

Closes #1363.
The logic is built around activity health. When the health worsens, a notification will be shown. When the health gets better a notification will be updated if shown, otherwise nothing will happen.  In a special case when no alert remains, a notification will be closed. When an alert that caused change of the health is known, details of such alert will be shown.
Implementation makes use of a Service Worker, because this is the only way to get a list of exiting notifications even after the page reloads, closes and opens.
Update seed because of futures.
Update js_sys because of Array.to_vec().
Demonstration:

Signed-off-by: Igor Pashev<EMAIL_ADDRESS>

Some more observations:

Firefox will re-notify each time.
Even though require_interaction is set in Chrome, it disappears into the notification tray.

Hrrm, on mac I don't get renotified if health worsens (though I can see the message if I look in notification tray).

We will need support for .renotify().

1. Firefox _will_ re-notify each time.
2. Even though `require_interaction` is set in Chrome, it disappears into the notification tray.

require_interaction prevents browser from closing the notification, it is supported by Chrome (even on Linux), but is not supported by Firefox at all (always false. There are some options at about:config, but they didn't make any difference). It looks like Chrome on Mac ignores it and assumes it is always true (and moves to the tray). So require_interaction is mostly for forward compatibility.
By the way, when we have .renotify() we should make it true when health worsens and false otherwise.

Looks like there are a few clippy lints that need fixing

Looks like there are a few clippy lints that need fixing

They appear to be in other files not modified by this PR (as I can see by executing cargo clippy locally).

They appear to be in other files not modified by this PR (as I can see by executing cargo clippy locally).

A number that are from different modules, but these ones are local:


Feat: Add visibility feature in password box

Describe the feature
Add facility to view password
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@AkhilaSunesh fine you can work on this issue.

Please assign this issue to me. I am a Technical Executive at the IEEE CUIET Organization.
I would like to work on this issue. Providing you with the best results. I have already worked on projects like this and would like to contribute.

@Akshit462005 don't comment on someone's else issues make your own and work under it.


How to listen the opening of a notification from APNS

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
How can I track the opening of a notification on ios if it is sent via APNS without binding to firebase messaging?
How do I understand that the user has opened the application by clicking on this notification?
Proposal
I tried tracking using FirebaseMessaging.onMessage, but it doesn't work

Hi @rr8733380,
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and places where you can ask questions like this.
You may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself.
Thank you


fix linter

🚀 🚀 Pull Request
Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Things to be aware of

Things to worry about

Additional Context

Fixes were merged in #2925


[Websockets] Update websockets.md

PCX-10586

Merging in as it looks pretty self-explanatory + no time issues


aursift: outdated usage/man

Runtime help/usage claims:
$ aursift -h
    usage: aursift [-IS pkgname] [-U pkgname pkgver]

and similarly does aursift(1).
However running aursift and looking at its source, it's clear that -I | -S | -U doesn't take any arguments. In fact packages are read solely from stdin.

Adding pkgname/pkgver like that was a lame attempt to clarify what belongs on stdin. I guess that's handled in the Description section, though.

via 51b814dab9fffa23e3a10b59f9b1e5a2f6ba847c


Generalize container of statistics algorithms.

As written, the statistics algorithms only work on standard lists. However, Haskell lists are very inefficient and most production code uses Vector or Array. We can generalize these functions by mostly changing the type signature.
Added a few more methods for median due to the fact that this algorithm cannot be generalized due to different sorting implementations. However, this also results in adding functions for finding the median of already sorted arrays which can result in better complexity if the input is guaranteed to be sorted.

Hi, this is great! I initially implemented using lists so that it's easy for beginners to understand. But I think there's an advantage to using containers. I'm merging this right now and we can consider adding some brief explanation for using containers rather than lists.


Some minor cleanups of the documentation

No code changes.

Previous build failed for some spurious reason. No code changes.

Superseded by #533