Try implement async content handlers

Figure out the performance consequences of making content handlers async

Hey 👋 Wanted to chime in with a use case in case you're looking for one to drive this. In CloudFlare we have a need for the ability to suspend the streaming rewriter, so we can do various async work: fetching, scheduling microtasks, etc. It's difficult to describe the why we need this without explaining the full infrastructure and product but the tl;dr is that we're running arbitrary customer provided JavaScript inside these handlers that ultimately inserts dynamic HTML--don't worry, customers aren't co-located in the same Workers, so there's no trust issues between them. Their code might have async stuff and how we load their code is already async, so we need a way to "pause" the rewriting while we generate the content for a matching handler.
We'd be flexible on the exact semantics, but it seems like in the JS world, returning a Promise might be doable. Then you could do something like this:
class ElementHandler {
  async element(node) {
    const first = await fetchFirst();
    node.append(first, { html: true });

    const second = await fetchSecond();
    node.append(second, { html: true });
  }
}

Of course, this library is agnostic to JS so it would probably instead use Rust Future's, though I could see some potential interopt challenges depending on how Cloudflare integrates this library with V8.

Thanks for your input! We have similar motiviations, fetch() or cache operations are common use-cases in the HTMLRewriter's handler.
@inikulin knows more about Rust's Futures and await than I do, but the plan would be to implement it on the Cloudflare workers' side and probably leave the library as is for now.
Appending a stream sounds like a good idea to me.

Hello! We wanted to inline Google Fonts like in this Cloudflare blog post. It was suggested in a comment to use HTMLRewriter instead using a Regex to search through the stream like what's done in the blog post.
We need to stream the HTML response to obtain the href attribute of the stylesheet link, so we look for the stylesheet link. Then, in the handler, we want to fetch the CSS using the href to obtain the stylesheet content and replace the stylesheet link with that content. However, this happens asynchronously which doesn't currently seem to be supported. Wasn't sure if there was another way to approach this.

@chlao support of async handlers for HTMLRewriter is work in progress, we will post in this thread once it will be available.

I just saw the 2020/6/18 Workers Runtime Release Notes about HTMLRewriter API now supports asynchronous handlers in the forum
And I tried and it worked 🎉
Check this playground link
See the Testing tab you will find GoogleFonts link is replaced by inlined CSS.
Thanks, Cloudflare team for implementing this, it will be super useful for my use cases.

@vinaypuppal indeed, it unblocks so many possibilities of using HTMLRewriter to the full potential, enjoy.

Can we use this inside tokio? Thanks!

@sejoker can you clarify: the async support was only for Cloudflare Workers, not for this library, is that correct? I recall hearing that in the end it was implemented using fibers in Cap'n Proto, rather than providing direct support in lol-html? I imagine that means there's no plans to support it natively in lol-html and consumers should use their own fiber-like abstraction or similar?

@jayphelps that is correct for the time being. Though, we have some scenarios in mind that will force us to implement async handlers for this lib. Though, no promises for now.

@inikulin is this actually done? I can't see any trace of implementing async content handlers


Add Go Report Card badge to README

Description
Adds the Go Report Card badge to the badges section in the main README
Motivation and Context

Track Go Report Card progress on the main README to encourage all to run goimports, go vet, and golint. Most valid errors have been resolved at this point.
How Has This Been Tested?

No new tests and this is only a change to the README
Checklist:

[x] I have added a Signed-off-by
[x] Either no new documentation is required by this change, OR I added new documentation
[x] Either no new tests are required by this change, OR I added new tests
[x] I have run goimports, go vet, and golint. I have cleaned up all valid errors and warnings in code I have added or modified. These tools may generate false positives.  The goal is clean, consistent, and readable code.

Signed-off-by: Sheehan Anderson<EMAIL_ADDRESS>

LGTM thanks

LGTM
Reviewed-by: Greg Haskins<EMAIL_ADDRESS>


first page creation

[x] Close the appearing pop up
[x] Click on "Add the first page" to open the modal
[x] Follow the wizard to create the first page
[x] Add example content during the wizard creation

:+1:


Support darwin-arm64

Looks amazing – can't wait to test it out! Though it doesn't seem to work on m1 macs yet..

Oh bummers.. I don't have an m1, what error are you getting?

Not much information unfortunately:
$ gh extension install dlvhdr/gh-prs
gh-prs unsupported for darwin-arm64. Open an issue: `gh issue create -R dlvhdr/gh-prs -t'Support darwin-arm64'`

But I think it's because there is no assets called darwin-arm64 in the releases assets, based on what I understand from https://github.com/cli/cli/blob/b5d90e120405ee5a7fe6dfdcc58f1eeffbb9f88c/pkg/cmd/extension/manager.go#L360-L364
And also from what I understand, the Github action used to release this project does not support anymore a list of custom platform to build for (https://github.com/cli/gh-extension-precompile/commit/e482de81ba51ed9e200a167c933f792c2956c66c, related discussion: https://github.com/cli/gh-extension-precompile/issues/2)
I've opened a PR on their project so it will build for darwin-arm64 platform: https://github.com/cli/gh-extension-precompile/pull/3

Thanks @VictorBersy that's a lot of good info you researched.. Yeah you understood correctly, I just use the github action, I don't know how to personally compile to different targets, so that was an easy solution for this.

Let's see if they accept my PR or not. Meanwhile, if you want to publish it ASAP for ARM Mac, you could try to use an older version of the Github Action:
- uses<EMAIL_ADDRESS>  with:
    platforms: "darwin-amd64,darwin-arm64,linux-386,linux-arm,linux-amd64,linux-arm64,windows-386,windows-amd64"

But that's not very future proof as the latest version won't be used.

I think it should be fixed now, thanks to @abdfnx, can you check?

Yes I was able to install it, thanks a lot!

Yes I was able to install it, thanks a lot!

good news

@dlvhdr, could you provide a binary for linux-amd64 too?

@dlvhdr, could you provide a binary for linux-amd64 too?

you got it

@joelazar can you try it now ?

working like a charm :) thanks for the quick fix!

working like a charm :) thanks for the quick fix!

anytime bro, and thanks @dlvhdr for building this great extension

@dlvhdr confirming it works! ❤ soo amazing! Sorry for not replying before. Anyway, can't wait to start using this CLI. Thank you!

Thanks everyone for your patience and for sharing temporary workarounds!
The latest GitHub CLI 2.8.0 release fixes this by falling back to amd64 binary if Rosetta is installed. If an arm64 binary is found, for example as a product of the latest gh-extension-precompile action, however, then its codesigning is fixed after downloading to allow execution by the OS.


[ Metrics ] The repair leader distribution panel

The repair process takes up CPU time Panel and leader distribution panel
Leadership Distribution
The reason why nodes are not limited before is that the leader distribution can be observed on the non-leader confignode. However, when there are multiple iotdb clusters in prom, the panel will display the leader distribution of all clusters, causing the cluster display to be unclear. Therefore, it is better to add instance in the attribute to limit.
Before :

After:

Other small problems

cherry-pick to master


Rife 4.26 Anime deformity decreased but inbetween frames are less visible

I removed static frames from Sample Anime video and tested all few versions
Original video 6fps
https://github.com/user-attachments/assets/d5decd92-1b83-4251-89f2-d0f289f6ae76
4.26
https://github.com/user-attachments/assets/e2edef06-f30b-49b3-b28b-84555274038f
Union model from GMFSS_Fortuna Got best result
https://github.com/user-attachments/assets/9e66c123-72d8-458b-b4f0-87f54d4700f6
Any way train rife with GMFSS model ?

Okay, I will spend time to understand this project.


chore: merge lumberjack go modules

Fix: https://github.com/abcxyz/lumberjack/issues/309

cc: @sethvargo

Sweet thanks!


Allow pasting in the embedded browser

When authenticating in the embedded browser, I would like to be able to paste my very long Google password. Unfortunately this is not allowed (IsWebBrowserContextMenuEnabled = false).
Could this be enabled? Or maybe a simple context menu with only Copy / Paste functions could be attached to the WebBrowser control.

Marked as fixed in November but I still cannot paste.. KeePass 2.35 with KeeAnywhere 1.3.1
Had to manually type in my crazy 48 character password.

This issue is fixed in source code but has not been released yet. Please be patient.


backport v4 compatibility

Codecov Report

Merging #2340 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2340   +/-   ##
=======================================
  Coverage   79.55%   79.55%
=======================================
  Files          85       85
  Lines        8863     8863
  Branches     1899     1899
=======================================
  Hits         7051     7051
  Misses       1551     1551
  Partials      261      261

Continue to review full report at Codecov.

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


It's not clear which file to import for '@import "ionic.ionicons"'. Candidates: ionic.ionicons.scss ionic.ionicons.css Please delete or rename all but one of these files.

Ionic version:  (check one with "x")
Ionic Framework Version: 2.2.0
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v7.6.0
Xcode version: Xcode 8.2.1 Build version 8C1002

You should be importing the following way:
@import "ionic.ionicons";

https://github.com/driftyco/ionic-conference-app/blob/master/src/theme/variables.scss#L81
Which will import this file: https://github.com/driftyco/ionic/blob/master/src/themes/ionic.ionicons.scss


Updates to terms 16S recovered [MIXS:0000065] and 16S recovery software [MIXS:0000066]

Should expand these terms to enable reporting of the recovery of other taxonomic marker genes, not just 16S?
Current term details of 16S recovered [MIXS:0000065]
name: x16s_recover
description: Can a 16S gene be recovered from the submitted SAG or MAG?
title: 16S recovered
examples:
- value: 'yes'
in_subset:
- sequencing
from_schema: https://w3id.org/mixs
keywords:
- recover
slot_uri: MIXS:0000065
alias: x16s_recover
domain_of:
- Mimag
- Misag
range: boolean

Suggested update(s)
The parts that could be updates are listed below, but further input from experts in the area is required to determine the most suitable ways to make the changes.
name:  what should the new short name be? tax_mark_gene_recov
description: Can a specific taxonomic marker gene be recovered from the submitted SAG or MAG?
title:  what should the new full name be? taxonomic marker gene recovery
Additional context
These terms are bacterial specific. They are utilised in the MISAG and MIMAG packages, previously @rdfinn has suggested those packages need to be more generic to enable inclusion of non-bacterial MAG/SAGs  (see ticket #602 ) . Can we therefore only specify when a 16S gene is recovered from an assembled genome? I think we should expand the term to enable reporting of recovery of other taxonomic marker genes.
Question: If this term is used should it be a requirement for the term "target gene" [MIXS:0000044] to also be included? i.e. together this boolean term yes/no and the gene name from the target gene field give sufficient information.
Question: If this term is used should it be a requirement for the term MIXS:0000066 to be used as well? (i.e. the software term below)
Current term details of 16S recovery software [MIXS:0000066]
name: x16s_recover_software
description: Tools used for 16S rRNA gene extraction
title: 16S recovery software
examples:
- value: rambl;v2;default parameters
in_subset:
- sequencing
from_schema: https://w3id.org/mixs
keywords:
- recover
- software
slot_uri: MIXS:0000066
alias: x16s_recover_software
domain_of:
- Mimag
- Misag
range: string
pattern: ^([^\s-]{1,2}|[^\s-]+.+[^\s-]+);([^\s-]{1,2}|[^\s-]+.+[^\s-]+);([^\s-]{1,2}|[^\s-]+.+[^\s-]+)$
structured_pattern:
  syntax: ^{software};{version};{parameters}$
  interpolated: true
  partial_match: true

Suggested update(s)
The parts that could be updates are listed below, but further input from experts in the area is required to determine the most suitable ways to make the changes.
name:  what should the new short name be?
description: Tools used for taxonomic marker gene extraction/recovery.
title:  what should the new full name be?

I checked with the MGnify group and they are very pleased that these changes are progressing. (I just saw Rob's email address above as a requestor!)
Making it more generic makes sense to me too.

Is there a general policy on changing the meaning of a term?
Making it broader is safe as metadata annotated using the old term will still be valid after the change. However, making the meaning of terms broader can lose information. For example, knowing what marker gene was involved.
In OBO changing the meaning of a term necessitates obsoleting the ID and making a new one, and having a broader-than between new and old. This may be too impractical for MIxS however. But it would be good to have general guidelines.

I like the idea of making the term more generic/applicable to more marker genes. However previously it was clear what was targeted, how can this be implemented now do we support some kind of controlled vocabulary or is that making it limited again?

All of this would be so much easier if we didn't expect the values of all MIxS terms to be strings or lists of strings

obselete the old terms with a property to attribute the new replacment term so as to maintain the link between the terms

Discussed at CIG 2024-07-23

Deprecate these terms
Add new terms and provide "replaced by" or "consider" to map the new terms to the old terms.

Next steps:

Finalize the attribute that we will use for matching the old terms to the replaced terms
Document a "how to replace a term" protocol for GSC

Make sure term changes are backwards compatible

Create draft PR with the changes proposed & updates to review and approve with CIG

(I started this comment and got distracted. This is all I can recall at the moment and will add more later if I think of what I missed)

Additional note, keep to <20 characters for slots


Give user timeout override precedence

@jba
@jmuk
@pongad
@vchudnov-g

[Current coverage][cc-pull] is 88.68%

Merging [#21][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master        #21   diff @@
==========================================
  Files             6          6
  Lines           264        265     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            234        235     +1
  Misses           30         30
  Partials          0          0

Powered by Codecov. Last updated by [5317641...e3825cd][cc-compare]
[cc-base-branch]: https://codecov.io/gh/googleapis/gax-golang/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/googleapis/gax-golang/compare/5317641cf330bd1b2e553779c9374bc89d113960...e3825cd167f10ce034ef1f07731e9a3049ad7dfd
[cc-pull]: https://codecov.io/gh/googleapis/gax-golang/pull/21?src=pr

LGTM


go-support – tasks

[ ] go:generate protobufs
[ ] define how *.proto files come to (these) language support repositories (influences the developer flow)
[ ] move go-support into a separate repository (go import has ideas how this is laid out; go-import metatag. Alternatives? => mirror cloudstate/go-support/ into something usable, check how others do it... even travis has no good story for that)
[ ] this should make the godoc story easier to solve
[ ] revise packages... depends how go import name is structured => keep it flat
[ ] define how to build cloudstate with a certain language support library => see also https://github.com/cloudstateio/cloudstate/issues/7, see also build.sbt task buildGoTCKShoppingCart
[ ] decide package base for go-support => cloudstate.io/cloudstate vs. github.com/cloudstateio/gosupport
[ ] think about Behaviours from the Java API
[ ] complete and test snapshots
[ ] tests
[ ] events and snapshot marshalers other than (gob, json, ...) see also https://github.com/cloudstateio/cloudstate/issues/25
[ ] complete docs/../user/lang/go
[ ] CRDTs
[ ] functions.proto
[ ] implement the chat application and deliver a docker image for it
[ ] having "code snipped validation" (see https://github.com/cloudstateio/cloudstate/issues/104 and https://github.com/cloudstateio/cloudstate/blob/master/docs/src/test/java/docs/user/gettingstarted/ShoppingCartMain.java#L4-L16)
[ ] implement https://cloudstate.io/docs/user/lang/java/serialization.html

superfluous, all issues are tracked on https://github.com/cloudstateio/go-support


Stub for python-requests

urllib3 stub modified to use python-requests

@ppietikainen Is it intended that you made the README smaller?

Err, this branch can probably just be dropped, evilon did essentially the same stuff yesterday and that's already been merged.

Well, resolved a merge conflict anyway...kinda


Acknowledge contributors

Proposal on how to acknowledge contributors. Doing this from my phone wasn't easy, so I'll hold off merging for a couple weeks until I can clean and double check the code.

I believe there's bots to do this: https://allcontributors.org/docs/en/bot/installation

@Vurv78 Thanks for that recommendation. That's indeed a lot better, I'll use that instead.

@all-contributors please add @luttje for code


Inconsistency between wsEngines path configuration

Check out reproduction repo: Aareksio/socketcluster-test
This should at least be documented somewhere.

@Aareksio Thanks for pointing out this issue. It's now been fixed in<EMAIL_ADDRESS>so that it  behaves consistently in both cases.


Unable to move and resize

Check that this is really a bug

[X] I confirm

Reproduction link
https://jquense.github.io/react-big-calendar/examples/index.html?path=/story/additional-examples-drag-and-drop--custom-steps-and-timeslots
Bug description
When moving and resizing the item stays in place.
Expected Behavior
Move and resize events.
Actual Behavior
No response
react-big-calendar version
the one in the docs
React version
the one in the docs
Platform/Target and Browser Versions
Chrome version 99.0.4844.74
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a react-big-calendar issue and not an implementation issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

@erikmartinessanches The examples you were looking at have no code to handle what to do when you drop an item somewhere else. I think you probably want the Drag and Drop core documentation for better understanding.


Make reading tsconfig.json file resilient to having a BOM. And add a test

Make reading tsconfig.json file resilient to having a BOM. And add a test

Thanks!

Will source files with a BOM just work as expected? Just to make sure, I thought that was handled by TypeScript.

Those are handled as expected by the TypeScript compiler.
Thanks!


Upload Camera File - 0 Bytes

first, thank you very much for your work.
I have a problem in which it consists of uploading images with the camera.
taking a picture with the camera and upload.
it shows: name, ext, but with size of "0" bytes and it keeps a corrupt image. :(
The method of file browser works perfectly! :)
Real Cell phones used for test:

Samsung S5 (not working upload camera and file browser working)
Samsung S6 (not working upload camera and file browser working)
Samsung S7 (not working upload camera and file browser working)
LG K410G Android 5.0.2 (working camera and file browser)

With emulador:
Emulador Android Native: Upload from camera and file archive it works perfectly.
Is it just a problem with the samsungs?
PD: Sorry for me english, translation by google.

Sorry for responding late.
I'm really not able to understand why it's happening now.
I came across the very same issue earlier but it's fixed and working now on almost all devices I've tested it on.
Anyway, don't worry, I'll try the same on samsung device.


How do entrypoints work?

Description
I want to make the switch to brunch but can't figure out how entryPoints are supposed to work. I already looked at the issue here #1349, but it didn't help me much.
Expected behavior
I want to get two files, proj1.js and proj2.js and a vendor.js file that contains all the node_module dependencies of the two other files.
Actual behavior
Console output:
$> brunch build
18:29:49 - warn: 'vendor.js' is already used by another entry point, can't add it to config.files.javascripts.entryPoints for 'app/proj2/index.js'
18:29:52 - warn: app/initialize.js compiled, but not written. Check your javascripts.joinTo config
18:29:52 - warn: app/proj1/initialize.js compiled, but not written. Check your javascripts.joinTo config18:29:52 - warn: app/proj2/initialize.js compiled, but not written. Check your javascripts.joinTo config
18:29:52 - warn: app/proj1/components/App.vue compiled, but not written. Check your templates.joinTo config
18:29:52 - warn: app/proj2/components/App.vue compiled, but not written. Check your templates.joinTo config
18:29:52 - info: compiled 4 files into 4 files, copied index.html in 3.9 sec

Environment

Brunch: 2.10.12
Node.js: 9.11.1
NPM: 5.6.0
Operating system: windows 10 build 1709
Code editor: vs code

package.json contents
  "dependencies": {},
  "devDependencies": {
    "auto-reload-brunch": "^2",
    "babel-brunch": "~6.1",
    "babel-eslint": "^8.2.3",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-latest": "^6",
    "brunch": "^2",
    "clean-css-brunch": "^2",
    "uglify-js-brunch": "^2",
    "vue": "^2.5.16",
    "vue-brunch": "^2.0.1"
  }

brunch config contents

exports.files = {
  javascripts: {
    entryPoints: {
      'app/proj1/index.js': {
        'proj1.js': /^app/,
        'vendor.js': /^(?!app)/,
      },
      'app/proj2/index.js': {
        'proj2.js': /^app/,
        'vendor.js': /^(?!app)/,
      }
    }
  },
  stylesheets: {joinTo: 'app.css'}
};

exports.plugins = {
  babel: {presets: ['latest']}
};

Other useful files, when present (log, bower.json etc.)
Project structure:

From the docs:

two entry points can't write to the same file

This config might work, though I haven't tried it:
exports.files = {
  javascripts: {
    entryPoints: {
      'app/proj1/index.js': {
        'proj1.js': /^app/
      },
      'app/proj2/index.js': {
        'proj2.js': /^app/
      }
    },
    joinTo: {
      'vendor.js': /^(?!app)/
    }
  },
  ...
};

How did you manage to get this to work anyways. I tried entryPoints a couple of times without success.

I'm also having issues with entrypoints, I just get this vague error
21:41:16 - warn: The correct use of entry points is: `'entryFile.js': 'outputFile.js'`. You are trying to use 'js/map.js' as an entry point, but it is probably an output file.

module.exports = {
    files: {
        javascripts: {
            entryPoints: {
                'js/map.js': 'map.js'
            }
        },
        stylesheets: {
            joinTo: {
                'map.css': /map/,
                'home.css': /home/
            }
        }
    },
    paths: {
        watched: ['frontend'],
        public: './static'
    }
}

Assuming your source file is frontend/map.js and your output file is static/js/map.js, the configuration you want is
module.exports = {
    files: {
        javascripts: {
            entryPoints: {
                'frontend/map.js': 'js/map.js'
            }
        },
        stylesheets: {
            joinTo: {
                'map.css': /map/,
                'home.css': /home/
            }
        }
    },
    paths: {
        watched: ['frontend'],
        public: 'static'
    }
}


Browser compatibility

Hi,
the tree component is working fine on Chrome and IE 11.
It doesn't work on older versions of IE.
Is there any possibility it can work on older versions?
Thank you

Angular2 only supports the latest browsers, so this is definitely not possible.
See here: https://angular.io/docs/ts/latest/guide/browser-support.html

That's right, but the tree component only works in IE 10 and 11, not in 9.

The error is:
EXCEPTION: Error in ./TreeNodeDropSlot class TreeNodeDropSlot - inline template:3:6 caused by: Unable to get property 'remove' of undefined or null reference
Error: Error in ./TreeNodeDropSlot class TreeNodeDropSlot - inline template:3:6 caused by: Unable to get property 'remove' of undefined or null reference

Seems like lodash only supports IE 11.

Support
Tested in Chrome 53-54, Firefox 48-49, IE 11, Edge 14, Safari 9-10, Node.js 4-6 & PhantomJS 2.1.1.
https://lodash.com/

Either you change all occurences of lodash to native functions or you use the lodash.compat version, but it seems they discontinued support for it.
https://github.com/lodash-archive/lodash-compat

Does anyone know a polyfill that allows lodash to work on IE9-10?


Adding Mortgage Insurance API

A new django app is added for a new mortgage insurance api endpoint.
This includes:

mortgage insurance data load script
mortgage insurance api code

Automated tests are not included yet, will come at a later pull request.
@fna

Looks good to me :+1:


Changing names to inquid

This pull request

[x]

Follows #.
Related to #.
Fixes #.

Codecov Report

Merging #4 (2ce64e5) into main (b418ab9) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff             @@
##                main        #4   +/-   ##
===========================================
  Coverage     100.00%   100.00%
  Complexity         3         3
===========================================
  Files              1         1
  Lines              6         6
===========================================
  Hits               6         6

Impacted Files
Coverage Δ
Complexity Δ

src/Example.php
100.00% <ø> (ø)
3.00 <0.00> (ø)

Continue to review full report at Codecov.

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


More than one stepper?

Hello,
I like this library. Is it possible to use with more than one motor at a time?

Hi @hiven,
Sure! Simply create more than one instance of ContinuousStepper.
Best regards,
Benoit

Thank you


bootstrap single choice checkbox (django form booleanfield) has no a label tag

I have a form with a booleanfield in Django. The generated checkbox input under bootstrap form-horizontal template has no outter label tag, which causes the checkbox is not lining up with field label on the left.
Here is on the bootstrap documentation.
"Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the <label class="checkbox"> that wraps the <input type="checkbox">."

Thanks for reporting this @yannuil
You are right, I totally missed the simple checkbox case. I've pushed a fix to dev branch, feel free to test it and confirm it works for you.
Cheers,
Miguel


Rankup bug

I added A-Z ranks, but after Ranking to M whenever i type /rankup it says "Failed To RankUp, Refunded price" something like that.

What are you using as a permission manager? Perhaps the group 'N' doesn't exist?

Indeed, ranks are registered in group.yml and config, i use RankDoesGroups

Hopefully you will sort it out :)

Can you post a copy of your config files? Groups.yml and config.yml.

groups:
  B:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5B§r§c!
    - rca {name} setprefix B
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  C:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5C§r§c!
    - rca {name} setprefix C
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  D:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5D§r§c!
    - rca {name} setprefix D
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  E:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5E§r§c!
    - rca {name} setprefix E
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  F:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5F§r§c!
    - rca {name} setprefix F
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  G:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5G§r§c!
    - rca {name} setprefix G
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  H:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5H§r§c!
    - rca {name} setprefix H
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  I:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5I§r§c!
    - rca {name} setprefix I
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  J:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5J§r§c!
    - rca {name} setprefix I
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  K:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5K§r§c!
    - rca {name} setprefix K
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  L:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5L§r§c!
    - rca {name} setprefix L
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  M:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5M§r§c!
    - rca {name} setprefix M
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  N:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5N§r§c!
    - rca {name} setprefix N
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  O:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5O§r§c!
    - rca {name} setprefix O
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  P:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5P§r§c!
    - rca {name} setprefix P
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  Q:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5Q§r§c!
    - rca {name} setprefix Q
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  R:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5R§r§c!
    - rca {name} setprefix R
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  S:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5S§r§c!
    - rca {name} setprefix S
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  T:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5T§r§c!
    - rca {name} setprefix T
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  U:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5U§r§c!
    - rca {name} setprefix U
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  V:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5V§r§c!
    - rca {name} setprefix V
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  W:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5W§r§c!
    - rca {name} setprefix W
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  X:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5X§r§c!
    - rca {name} setprefix X
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  Y:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5Y§r§c!
    - rca {name} setprefix Y
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
  Z:
    entrance:
    - setuperm {name} pchat.command.setprefix
    - sm * §l§5{name}§r§c Has Ranked Up To §l§5Z§r§c. You have gained Your Freedom!
    - rca {name} setprefix Z
    - unsetuperm {name} pchat.command.setprefix
    exit: []
    perms: []
    members: []
...

Config:
ranks: # Define all your ranks here
  B: 30000
  C: 50000
  D: 75000
  E: 100000
  F: 150000
  G: 195000
  H: 230000
  I: 300000
  J: 375000
  K: 450000
  L: 500000
  M: 600000
  N: 666000
  P: 800000
  Q: 870000
  R: 930000
  S: 1000000
  T: 1200000
  U: 1400000
  V: 2000000
  W: 2300000
  X: 2700000
  Y: 3500000
  Z: 4000000

lang:
  ranked-up-paid: "§l§5Prison >§r §cYou have been ranked up to §5%s"
  ranked-up-free: "§l§5Prison >§r §cYou have been ranked up to §5%s"
  group-add-error-paid: "Failed to rankup. Refunded price."
  group-add-error-free: "Failed to rankup. Try again later."
  need-more-money-1: "§cYou Donot Have Enough Money To RankUP!"
  need-more-money-2: "§l§5Prison > §r§cYou Donot Have Enough Money. You Need§5 $%s §cTo Rankup!"
  missing-economy: "Can't purchase now."
  have-max-rank: "§cYou have the maximum rank."
  command-permission-error: "You don't have permission to rankup."

I've finally had a chance to get to the bottom of this. I apologize for the delay. You should go into your config.yml file and add quotes around the rank you fail to get to.  So the line should look like "N": 666000. Do this for every rank you aren't able to get to.


[DOCS] mention CSD in reference

cf. https://github.com/mne-tools/mne-python/issues/9659

Within the context of improving the CSD docs, as a user I'd like to see just a bit more info about what it is (note that I personally have no idea 🙈, I just discovered this "method" in this paper https://www.frontiersin.org/articles/10.3389/fnins.2017.00425/full that claims it's the best re-referencing method for some particular applications).
And also, as far as I understand, applying it currently transforms the channel type from EEG to CSD (it'd be good to mention that in the docs too). Is there a way to convert back the type to eeg?

Also, just noticed what seems to be a bug (?) when I try to pick the CSD channels:
import mne
from mne.datasets import sample

raw = mne.io.read_raw_fif(sample.data_path() / 'MEG' / 'sample' / 'sample_audvis_raw.fif')
raw = raw.pick_types(meg=False, eeg=True, eog=True, ecg=True, stim=True,
                     exclude=raw.info['bads']).load_data()
raw.set_eeg_reference(projection=True).apply_proj()

raw_csd = mne.preprocessing.compute_current_source_density(raw)
raw_csd.pick_types(meg=True, csd=True)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
c:\Dropbox\RECHERCHE\N\NeuroKit\studies\complexity_eeg\make_data.py in <cell line: 9>()
      [124](file:///c%3A/Dropbox/RECHERCHE/N/NeuroKit/studies/complexity_eeg/make_data.py?line=123) raw.set_eeg_reference(projection=True).apply_proj()
      [125](file:///c%3A/Dropbox/RECHERCHE/N/NeuroKit/studies/complexity_eeg/make_data.py?line=124) raw_csd = mne.preprocessing.compute_current_source_density(raw)
----> [126](file:///c%3A/Dropbox/RECHERCHE/N/NeuroKit/studies/complexity_eeg/make_data.py?line=125) raw_csd.pick_types(meg=True, csd=True)

File <decorator-gen-44>:12, in pick_types(self, meg, eeg, stim, eog, ecg, emg, ref_meg, misc, resp, chpi, exci, ias, syst, seeg, dipole, gof, bio, ecog, fnirs, csd, dbs, include, exclude, selection, verbose)

File ~\AppData\Roaming\Python\Python39\site-packages\mne\channels\channels.py:678, in UpdateChannelsMixin.pick_types(self, meg, eeg, stim, eog, ecg, emg, ref_meg, misc, resp, chpi, exci, ias, syst, seeg, dipole, gof, bio, ecog, fnirs, csd, dbs, include, exclude, selection, verbose)
    [594](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=593) """Pick some channels by type and names.
    [595](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=594)
    [596](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=595) Parameters
   (...)
    [669](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=668) .. versionadded:: 0.9.0
    [670](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=669) """
    [671](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=670) idx = pick_types(
    [672](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=671)     self.info, meg=meg, eeg=eeg, stim=stim, eog=eog, ecg=ecg, emg=emg,
    [673](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=672)     ref_meg=ref_meg, misc=misc, resp=resp, chpi=chpi, exci=exci,
    [674](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=673)     ias=ias, syst=syst, seeg=seeg, dipole=dipole, gof=gof, bio=bio,
    [675](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=674)     ecog=ecog, fnirs=fnirs, dbs=dbs, include=include, exclude=exclude,
    [676](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=675)     selection=selection)
--> [678](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=677) self._pick_drop_channels(idx)
    [680](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=679) # remove dropped channel types from reject and flat
    [681](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=680) if getattr(self, 'reject', None) is not None:
    [682](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=681)     # use list(self.reject) to avoid RuntimeError for changing
    [683](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=682)     # dictionary size during iteration

File <decorator-gen-46>:12, in _pick_drop_channels(self, idx, verbose)

File ~\AppData\Roaming\Python\Python39\site-packages\mne\channels\channels.py:856, in UpdateChannelsMixin._pick_drop_channels(self, idx, verbose)
    [853](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=852) if hasattr(self, '_cals'):
    [854](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=853)     self._cals = self._cals[idx]
--> [856](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=855) pick_info(self.info, idx, copy=False)
    [858](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=857) for key in ('_comp', '_projector'):
    [859](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/channels/channels.py?line=858)     mat = getattr(self, key, None)

File <decorator-gen-9>:12, in pick_info(info, sel, copy, verbose)

File ~\AppData\Roaming\Python\Python39\site-packages\mne\io\pick.py:538, in pick_info(info, sel, copy, verbose)
    [536](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/io/pick.py?line=535)     return info
    [537](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/io/pick.py?line=536) elif len(sel) == 0:
--> [538](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/io/pick.py?line=537)     raise ValueError('No channels match the selection.')
    [539](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/io/pick.py?line=538) n_unique = len(np.unique(np.arange(len(info['ch_names']))[sel]))
    [540](file:///c%3A/Users/domma/AppData/Roaming/Python/Python39/site-packages/mne/io/pick.py?line=539) if n_unique != len(sel):

ValueError: No channels match the selection.

Is there a way to convert back the type to eeg?

Not that I know of. We should recommend that people use a .copy() probably

Also, just noticed what seems to be a bug (?) when I try to pick the CSD channels:

Agreed this looks like a bug. Feel free to try to fix it here, or using the three dots on GitHub on your comment you can "reference in a new issue" so we don't forget to look into it

Thanks @DominiqueMakowski !


Notification wont trigger ebc callback if aplication is closed once.

Cordova/phonegap 3.6.4 + pushPlugin 2.4.0(last one)
I know that have a lot of issues like this, but all fixes i found were for older versions,  i applied they but nothing works. The issue is simple and not new:
1º aplication register first time and send reg id to server.
2º server send notification.
3º now, if:
aplication is in foreground: onNotificationGCM callback is fired, message is received, ok.
aplication is in background(home button), aplication get focus, callback is fired, message received, ok..
now the issue starts, in if the aplication was closed in any way, the notifcation will go to status bar, but when you tap it, it will start the app but  wont trigger onNotificationGCM callback.
Theres a durty solution : ALWAYS register( do not store the reg id, always register to get a new one), this way tap notification will open the app and fires the callback and thats would be the correct behavior without the need to always register.
In the img above- log cat - i saw that PushPlugin tries to fire callback in sendExtras method but,  gWebView and/or gECB  is null so thats why he logs  " caching extras to send at a later time" , its strange that is executed BEFORE the application ever begins. but this caching for user at a later time, never comes up and the callback is never so i cant handle the notification.

Hi
I did everything you said but am getting the error "undefined is not a type of function " at the line
cordova.exec(successCallback, errorCallback, "PushPlugin", "setECB", callback);
How can i solve this error?

Looks like you are missing the "[options]" parameter, your method should be like this:

PushNotification.prototype.setecb = function(successCallback, errorCallback, options) {
cordova.exec(successCallback , errorCallback, "PushPlugin", "setecb", [options]);
};

did you import the PushPlugin.js and cordova.js in index.html file?
cordova plugins only work on device not on browser, so if you try to run your aplication on browser you will get undefined error.
if this didint resolve your problem, please cp your

Checkout https://github.com/kentmw/PushPlugin, my fork that fixed this issue. Very similar to what people here have done. I've tested the equivalent fix for iOS and Android

I fixed this issue here #314
I have explained in detailed


Implement the actions section of the page

Description

Action items

Implement the action section of the page
Check out this prototype for the animations.

J

Hi can I work on this?
On Thu, 26 Sep 2024 at 07:34, Strong Force @.***> wrote:

Description
image.png (view on web)
https://github.com/user-attachments/assets/fd44394e-7ab1-4dc4-9cff-d9e1bcd4f40a
Action items

Implement the action section of the page
Check out this prototype
https://www.figma.com/proto/necXXzodGR1fcithL2lmkY/StarkLudo---Calebux?node-id=136-1784&node-type=canvas&t=eJV2OyT6CpI0IDtI-0&scaling=min-zoom&content-scaling=fixed&page-id=0%3A1&starting-point-node-id=113%3A554
for the animations.

—
Reply to this email directly, view it on GitHub
https://github.com/sivicstudio/starkludo/issues/73, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKQ7QTTILELONPX7TLJN553ZYOTIBAVCNFSM6AAAAABO4ISJBCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2DSNRUGYYDENI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@princeibs I'm a frontend and also a blockchain developer. I will love to work on this, I'm very ready to work

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Web3/frontend developer
With a lot of experiences in open source contribution.
How I plan on tackling this issue
Can I please be assigned to work on this issue?

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello @princeibs I'm a frontend developer and also a blockchain developer and I would love to work on this issue

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, Solidity and rust. My journey with OnlyDust hackathons began at Edition 1, and I've since made 69 contributions across 14 projects. With my extensive experience on the OnlyDust platform (profile:  https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.
I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.
As we surf through Edition 8, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.
How I plan on tackling this issue
I will approach the issues in the following manner:
I will begin by thoroughly analyzing the provided prototype to understand the required animations and interactions. I will create a new React component for the actions section, using modern hooks for state management. I will implement custom animations using CSS transitions and keyframes, potentially leveraging libraries like Framer Motion for more complex animations if allowed within project constraints. I will ensure the actions are fully responsive and accessible, implementing proper ARIA attributes and keyboard navigation. I will test the component across various devices and browsers to ensure consistent behavior and performance.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello @princeibsI am Joseph I am a frontend developer and blockchain developer and I am also an active contributor here on only dust here is my profile https://app.onlydust.com/u/josephchimebuka. This is my first time to contribute to this repo ill appreciate the opportunity to contribute. this is a couple of frontend and blockchain projects i have built https://metacrypt.vercel.app/ https://mattedsgn.com/
How I plan on tackling this issue
I will use the figma prototype to implement the actions section of the page. I should complete the project in 2-3 days

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a full stack developer with 3 years experience in HTML, CSS JavaScript, node.js React, Typescript and other libraries and frameworks.
How I plan on tackling this issue
I love this to be my first contribution on this platform please.
i will create a conditional statement that check the state to which the action be displayed and implement the action. thank you :)

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a seasoned fullstack developer with over 6 years of experience working across Fintech, web3 and growth-scaling industries. I am frontend heavy, and I am proficient in designing adaptable, accessible user intuitive experiences.
How I plan on tackling this issue
I would implement CSS animations, or I could use an animation library like Framer motion which I feel might just be an overhead—but if there are going to be subsequent animations I will it will come in handy

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi I am a blockchain developer with 3 years experience. Previously contributed to this project and would love to contribute again.
How I plan on tackling this issue
I would have to create functions that properly align with the action buttons , test my implementation and ensure it works properly

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a mern stack developer. I have worked on full stack project from scratch  so i can implement the frontend using React js, css,  javascript. I am new to blockchain but able to write etherium smart contract.
How I plan on tackling this issue

There will be a usestate hook to handle the turn means whose turn is this.
There will be a Roll button. When the user click on the button it will show us a dice moving animaion for a moment and show us a random number of dice( in picture from 1 to 6).
There will be start over button.
bellows are some options that will be clickable.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Can I take this? I’ve participated in almost every ODHack, and I already contributed to the StarkLudo project at the last hackathon. I have extensive experience in frontend development. I can handle this task.
How I plan on tackling this issue
My profile on OD: https://app.onlydust.com/u/melnikga

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I’m a Full Stack JavaScript Developer with a passion for creating gamified blockchain projects. Since I started with OnlyDust, I’ve made 18 contributions to different initiatives, which has really helped me sharpen my skills in building engaging and user-friendly experiences. I’m ready to bring this expertise to our current task.
How I plan on tackling this issue
To implement the actions section of the page, I’ll begin by taking a close look at the prototype to understand the animations and interactions we need. I’ll create a new React component specifically for this section, using modern hooks to manage the state effectively. For the animations, I’ll use CSS transitions and keyframes, and if the project allows it, I might even use libraries like Framer Motion to make things a bit more dynamic.
I’ll make sure the actions section is responsive and accessible, keeping in mind ARIA standards and ensuring it’s easy to navigate with a keyboard. After I build the component, I’ll test it on different devices and browsers to make sure everything works smoothly.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience in UI/UX development and game logic implementation, which allows me to handle dynamic elements in games. I’ve worked on projects where game components are conditionally enabled or disabled based on user actions, ensuring smooth gameplay flow. My expertise in using CSS for visual effects (like blurring) and managing state logic will be valuable in implementing this feature efficiently.
How I plan on tackling this issue
I would begin by disabling interactions with the Ludo board until the number of players is selected. This can be achieved by adding conditional logic to check if the number of players has been chosen and applying a blur effect via CSS to visually indicate the disabled state. I would also add a clear and prominent indication for the user to select the number of players, following the design guide provided. Finally, I’d test to ensure that the board becomes active and responsive only after a valid player selection is made.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a skilled fullstack developer with a wealth of experience in both frontend and backend JavaScript. With a solid foundation in testing,I have mastered frameworks like Mocha, Chai, and Jest to ensure robust, reliable code in every project. In addition to traditional web development, I have a strong background in blockchain technology, with hands-on experience in Solidity for Ethereum-based smart contracts. Moreover, I have delved into the emerging world of StarkNet, working with Cairo, a cutting-edge language tailored for STARKs, making them a versatile developer capable of bridging both traditional and decentralized web applications.
How I plan on tackling this issue
Using the current tech stack of the project, i will replica the design and add all the animation properties as outline in the given reference file

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack Developer and Cairo Developer. I have good experience building web application. I am new to Open Source and want to begin with this project. I am good in React, Typescript, Redux and Context APIs. I can leverage the same to make this a better game for the users.
How I plan on tackling this issue

Checking the structure of the project and understanding the codebase.
Knowing the tech stack required
Finding the area of the problem.
Designing the Figma solution.
Implementing into code.
Testing the code by inspecting in different screen size.
Modify the code when not working as expected.
After successful review, create a pull request.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
UI: StarkLudo Game Action Section
Hello TEAM team,
I am Joel Vargas, a member of Dojo Coding, and I also come from OnlyDust. I have experience in building interactive user interfaces using React, SCSS, and Tailwind CSS. I’ve worked on creating responsive UI components and adding animations for a smooth user experience, such as handling game UI elements dynamically in Web3 projects.
I would like to request the assignment of the issue related to the Action Section of the StarkLudo Game. Below is my approach for implementing this feature.
How I plan on tackling this issue
How I plan on tackling this issue
Implementation Plan
STEP 1: Create the Action Section Layout

I will create the layout for the action section using React components and Tailwind CSS. The layout will include a centered dice, a button for rolling the dice, and action buttons at the bottom for additional functionality (e.g., profile, leaderboard, etc.).
The dice will be an image component, and I will ensure that it’s responsive and scales properly across different screen sizes using Tailwind’s utility classes like w-full, md:w-1/2, lg:w-1/3.

STEP 2: Add Rolling Dice Functionality

I will implement the logic for rolling the dice, which will randomize the number on the dice. This will be done using React’s useState to store the dice value and Math.random() to simulate a dice roll.
The "ROLL" button will trigger this action, and the button will be styled using Tailwind (bg-blue-500, hover:bg-blue-700, text-white, rounded-full, px-4, py-2).

STEP 3: Add Animations

I will add a rolling animation for the dice using CSS animations or Tailwind’s animate-spin utility. This will enhance the user experience by adding a visual cue when the dice is rolling.
Additional animations will be added to the buttons, making them interactive on hover using Tailwind’s transition, transform, and scale utilities to create smooth hover effects.

STEP 4: Integrate Action Buttons

The icons at the bottom (profile, leaderboard, etc.) will be integrated as clickable buttons using Tailwind CSS for styling. These buttons will have hover effects (hover:bg-opacity-50) and clear iconography using SVGs or icon libraries like Lucide.
Each button will have its respective action, such as navigating to different sections of the game.

STEP 5: Implement Responsiveness

I will ensure that the entire section, including the dice and buttons, is fully responsive using Tailwind’s responsive classes (sm:, md:, lg:). This will ensure that the UI scales and remains functional on mobile, tablet, and desktop.

Technical Stack

React: To manage the component logic and UI state.
SCSS & Tailwind CSS: For styling the dice, buttons, and ensuring the layout is fully responsive.
React Hooks: To handle the dice rolling logic and button interactivity.

Example Code Outline
import { useState } from 'react';

function StarkLudoAction() {
  const [diceValue, setDiceValue] = useState(1);

  const rollDice = () => {
    const randomValue = Math.floor(Math.random() * 6) + 1;
    setDiceValue(randomValue);
  };

  return (

YELLOW, your move. ROLL!

      <img
        src={`/images/dice-${diceValue}.png`}
        alt={`Dice showing ${diceValue}`}
        className="w-24 h-24 mb-4"
      />
      <button onClick={rollDice} className="bg-blue-500 hover:bg-blue-700 text-white py-2 px-4 rounded-full">
        ROLL
      </button>

        <button className="bg-gray-700 hover:bg-opacity-50 text-white p-4 rounded-full">
          <IconUser />
        </button>
        <button className="bg-gray-700 hover:bg-opacity-50 text-white p-4 rounded-full">
          <IconLeaderboard />
        </button>
        <button className="bg-gray-700 hover:bg-opacity-50 text-white p-4 rounded-full">
          <IconGroup />
        </button>
        <button className="bg-gray-700 hover:bg-opacity-50 text-white p-4 rounded-full">
          <IconSettings />
        </button>

      Start Over

  );
}

export default StarkLudoAction;

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a full-stack developer with experience in QA testing and languages like Python, Cairo, Solidity, React, and JavaScript.
How I plan on tackling this issue
Step 1:  i will Define Action Buttons
Determine the actions required (e.g., edit, delete, run)
Design button styles and layout
Step 2: I will Write HTML Structure
Create a container for the actions section
Add buttons with corresponding labels and icons (if needed)

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm a blockchain developer with experience on front end, Ive worked with a few game projects before which makes me confident that I can bring this design to live. I have most experience with react, css, html, JavaScript, TypeScript, solidity and Cairo.
How I plan on tackling this issue
I will create the action section as a React component, breaking it into reusable elements like buttons and forms. I’ll set up state or props for interactions and ensure responsiveness using CSS or Tailwind CSS. After testing its functionality, including submission and validation, I’ll integrate it into the page
Thanks for the consideration
Lazarus

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
hello please can i work on this issue :) and would love to be a contributor
How I plan on tackling this issue
this would be my first time contributing to this repo

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi, I'm Qudus Adeyemi, a front-end developer with 2 years of experience working with React, TypeScript, and JavaScript, focusing on crafting pixel-perfect and interactive user interfaces. I had the opportunity to contribute to the previous OD Hackathon, where I enhanced the Starknet React documentation and implemented the useWatchAssets hook to improve wallet-tracking capabilities.
I'm genuinely excited about the StarkLudo project—it represents a fantastic opportunity for me to not only contribute but also deepen my understanding of Web3 and its technologies. The project's vision and potential are truly inspiring, and I’m eager to immerse myself in it, learn from the team, and apply my skills to help bring its goals to life.
I estimate the task will take about 1-2 days to complete, and I’m looking forward to getting started and collaborating with everyone!
How I plan on tackling this issue
Clone the repo
Follow the existing code patterns and improve the style where necessary.
Plan how to integrate the action section of the page without breaking any existing functionality.
Review the provided Figma design and begin the conversion process.

Test the implementation thoroughly and document any changes or improvements.


think about using css grid layout for body renderer

edge: with custom prefix possible
rest: can use the standard.
pro:

central definition
less dedicated positioning

cons:

in the default version, no notion of "rows" e.g. for common highlighting, since it would be probably just flat?

alternative: use 2 grid layouts: one for the rows, n for the columns instead of a 2d one

see https://codepen.io/sgratzl/pen/VWqJQq?editors=0110


Drag & Drop reordering feature

Would be nice if in any of next versions you'll provide built-in reorder functionality to drag & drop. Atm I is possible to develop mixing with some other utils but it's not a right way to reach it.

adapt-strap provides tools to do drag and drop. You can do anything you want with it. What you are asking for is too specific for us to support at this moment.


Issue-22

Fix NPE in DataSourceObservationListener#afterMethod when ResultSet#next throws an exception.
Issue #22

I think we also should mark field MethodExecutionContext#result as @Nullable and check all code with static analyzer like SonarLint or Intellij IDEA buldled analyzer.

@AnatoliyYakimov Thanks for the PR.
I have merged, polished, and pushed it to main.


Add support message for M1 Agent building

What does this PR do?
This PR raises an error whenever someone tries to build the Agent on a Mac M1 without flag flavor=iot.

Motivation
Only building the IoT Agent is supported for now. So people should know when they try to build the Agent.

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Run inv -e agent.build and you should see a more verbose error raised, advising you to build with --flavor=iot flag.

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

Do we have documentation on the issues with building the agent on m1 macs ? Running inv -e agent.build on my M1 completes successfully without any special setup

Do we have documentation on the issues with building the agent on m1 macs ? Running inv -e agent.build on my M1 completes successfully without any special setup

So we don't have precise documentation for now, but this PR was the first PR mentioning this issue.
Basically the problem was that when running invoke agent.build --build-exclude=systemd natively on a Mac M1 (without a VM of any kind) you get a gopsutil error.
This is summed up in this card.


WIP: Reader

Yeah.. I am about to do that. Just our yesterdays work needs some 'polishing' ;)

@michael we need to talk about how we want to proceed with the 'master'/'develop' pattern. We had and are still having a situation now, where we want to continue development while other projects a release, which need some patches over time.
We could either use 'master'/'develop', or 'release'/'master'. But we need two tracks.

And then I'd suggest to use the same pattern everywhere.

@oliver---- yes I understand. I'd prefer for release/master. And master being the default branch, so contributions always target the latest development version.

Ok. I have some things on 'develop' which I will merge in master.
Create a release branch on the commit we used for the last release.
And this branch need to be rebased.
Are you having uncommited changes?

I have some very experimental stuff, that  I don't want to commit yet. But please go ahead and i will use git stash to bring back my changes.

ok.

Can you fix the editor so it also provides the api in context? It's currentry broken.

Will do after the rebase.

@oliver---- I think we also need to make the referenceManager available to the API. I guess then the component implementations could talk to the ReferencesModel which abstracts all that label generation etc. away.
What do you think?
First thing I could do is creating the instances earlier and passing them to the API. Next we should fix places that use referenceManager etc. directly and instead use the new ReferenceModel API.

Yep. Everything need to go into the API. Like it was a unified model. Of course with all the 'managers' inside to do the work.

Ok i will try to start this work then. You can forget about the broken editor, I will fix as part of this restructuring.

Ok. But let me finish the rebase. There are some regressions I need to fix.

@michael Now you can start.

I need to fix test coverage reports in the meantime. (using the same toolchain as in stencila/engine et al.)

Okay. I only have one hour left today, so probably won't finish this today.

Ok

But maybe you could push your stuff, even unfinished. Otherwise I am a bit blocked tonight.

Sorry saw that too late. But you can move on and push, i will rebase my stuff and also push asap

@oliver---- I just pushed that change that moves managers into the API.
It's basically working but somehow the setup of managers within commands seems not right. When you open the editor, and set the cursor to the title, I get this error:

It's a lifecycle thing, like on construction of the command manager we don't yet have setup the managers and API. Don't know how to approach this. I think we generally want to get rid of managers inside editorSession... just don't want to kill too much at once... as it's affecting a lot of code.
Could you take a look?

Will take a look.
I will rebase on the latest master.

@michael this is working now. Pls take a look, particularly at https://github.com/substance/texture/pull/545/commits/0e838c16a3c2983b81f275da47e9f2706fab4e88

Thank you @oliver---- . Makes sense to do the monkey patch for now. And in the long run let's get all this stuff out of editorSession.

Calling it a first iteration.

Codecov Report

Merging #545 into master will decrease coverage by 1.95%.
The diff coverage is 33.05%.

@@            Coverage Diff             @@
##           master     #545      +/-   ##
==========================================
- Coverage   56.33%   54.37%   -1.96%
==========================================
  Files         188      210      +22
  Lines        4892     5151     +259
==========================================
+ Hits         2756     2801      +45
- Misses       2136     2350     +214

Impacted Files
Coverage Δ

src/TextureArchive.js
70.83% <ø> (ø)
:arrow_up:

src/editor/components/ContainerNodeComponent.js
100% <ø> (ø)
:arrow_up:

src/article/converter/r2t/index.js
100% <ø> (ø)
:arrow_up:

src/editor/commands/InsertXrefCommand.js
41.17% <ø> (+16.17%)
:arrow_up:

src/editor/components/TextNodeComponent.js
100% <ø> (ø)
:arrow_up:

src/reader/components/TextureReader.js
0% <0%> (ø)

src/editor/commands/InsertInlineNodeCommand.js
0% <0%> (ø)
:arrow_up:

src/article/models/ContainerModel.js
0% <0%> (ø)

src/shared/components/BibliographyComponent.js
0% <0%> (ø)

src/shared/components/ArticleAbstractComponent.js
0% <0%> (ø)

... and 64 more

Continue to review full report at Codecov.

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


[NIT] a test on bullet proof for extra commit usage

[Note: This PR does not have any new feature or function change (except adding a minor test case), instead it is like a pre-study or prerequisite claim for the security lib usage when implementing the NIT(Non-Interactive Transaction) feature. ]
For implementation of NIT(Non-Interactive Transaction) feature, we need an extra commit in BulletProof to lock some additional data except the commit and proof itself, such as a nonce R, and a one-time public key P', also the output type (i.e. OutputFeatures), to avoid any dishonest miner or node to corrupt the transaction data.
The extra_data_in in bullet_proof function of this security lib is designed for this purpose. In NIT implementation, we can use Hash(R || P' || OutputFeatures) as this extra commit. To verify such kind of bullet proof, this extra commit data must be calculated and provided, so the Output data integrity is validated by nodes and miners.
Another important point, about the rewind_nonce and private_nonce when creating a bullet proof, since in NIT we will use a shared (only among the sender and receiver) Ephemeral key q as the blinding, it doesn't make sense any more in NIT for a rewind_nonce = H(H(public_extended_wallet_root_key), commit) and a private_nonce = H(H(wallet_root_key), commit).
Refers to these 3 code snippets for current implementation of rewind_nonce and private_nonce:

https://github.com/mwcproject/mwc-node/blob/4.1.0/core/src/libtx/proof.rs#L182-L188
https://github.com/mwcproject/mwc-node/blob/4.1.0/core/src/libtx/proof.rs#L161-L167
https://github.com/mwcproject/mwc-node/blob/4.1.0/core/src/libtx/proof.rs#L147-L152

Instead, as the proposed method here for NIT, we use rewind_nonce = private_nonce = H(H(q), commit) where q is the Ephemeral key (also the blinding).
The view-only wallet will have different mechanism from current mwc wallet which is using the rewind_nonce as the viewing wallet mechanism. Instead, in NIT, the view-only wallet will have the private view key a which can be used to calculate this q then the rewind_nonce here.

As a summary, 2 idea here:

extra_commit_data = Hash(R || P' || OutputFeatures);
rewind_nonce = private_nonce = H(H(q), commit).

This is for the new type of Output only.

Thank you. Nice to know that NIT will support the view-only wallet. It is really great


Pipeline error End-of-File

Hi
I am running into the following error in the logs:
[pipeline] [error] [0] error parsing //Docs/xxxxxxxx.pdf JVM exception occurred: Error: End-of-File, expected line

My docs are readable by everybody, I am running a ubuntu16.04 box with docker.
Where could I find more log about this error? Does somebody run into this error?

i should be something with read rights.
I just created a simple asd.txt file and I get the following error:
GD_Docs/asd.txt JVM exception occurred: InputStream must have > 0 bytes

If I am correct the last error is generated by this line:
https://github.com/apache/tika/blob/master/tika-core/src/main/java/org/apache/tika/parser/AutoDetectParser.java#L122

I am having the exact same issue :-D.

Solved!
By checking: docker-compose logs, I saw that there was a dns lookup error; then noticed that both @bakrowork and I had used something not-DNS valid as the name for the crawler.
I guess this was a docker-rookie mistake. It should be fixed with a mention in the README not to use weird stuff as the crawler name :-).
@bakrowork should now:

docker-compose down
rm -rf $YOUR_DATA_DIR (care not to delete your source data, but only ambar's data dir)
change docker-compose.yml so that the crawler name basically only contains lowercase ascii chars.
docker-compose up -d

Thank you @evilham

@AyKarsi I can't :-) but maybe @sochix can.


Fix BT test

@echarlaix

thanks @fxmarty

Thanks a lot @regisss

Just seems like a punctual issue, the following workflows finished successfully.


Animate dialog entry exit

How do i add animations to the dialog
example i want to make it slide-in on create and slide out on dismiss

Search StackOverflow

i did search but didnt find much
sorry tho for the noob question
cheers for the great lib

@vhenriques Search at github for FlexibleAdapter and then look at class EditItemDialog. There is slide in and out.


Fix typo

framwork→framework

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

@eltociear, thanks for this fix.
#sign-off


Consider integrating Python Generators

Overview
Python offers Generator functions with yield and it could be elegant to generate lists of files to process and lists of URLs to request.
Links

Python Wiki, Generators
Programiz, Python Generators
Real Python, How to Use Generators and yield in Python

With moving to async/await with AsyncIO and AIOHTTP a kind of generator is already at work.


Integrate  User profile front end with POST API

Describe the task
Given that the user profile screen is developed, implement necessary integration to update the profile details to the database
Acceptance Criteria

[x] Front end calls the POST user profile API
[x] Updated info saved to  the database
[ ] unit test cases implemented

merged to dev


Bug Fix for F5 Irule

Current coverage is 95.37%

Merging #14 into 0.2 will decrease coverage by -4.63% as of 13b4f85

@@              0.2     #14   diff @@
=====================================
  Files           2       2
  Stmts          99     108     +9
  Branches       22      25     +3
  Methods         0       0
=====================================
+ Hit            99     103     +4
- Partial         0       1     +1
- Missed          0       4     +4

Review entire Coverage Diff as of 13b4f85

Powered by Codecov. Updated on successful CI builds.


Repeated calls to getUser() aborts restarts the SilentLoginTimer, causing expiration of token

Hi,
When calling the getUser() method repeatedly it will reset the SilentLoginTimers causing the silentLogin method to never to be called, ultimately expiring the token.

Recreate by following this guide: http://docs.identityserver.io/en/release/quickstarts/7_javascript_client.html

Enable silentlogin (myConfig):

var config = {
    authority: "http://localhost:5000",
    client_id: "webplatform1",
    redirect_uri: "http://localhost:5003/callback.html",
    response_type: "id_token token",
    scope: "openid profile api1",
    post_logout_redirect_uri: "http://localhost:5003/index.html",
    automaticSilentRenew: true,
    silent_redirect_uri: "http://localhost:5003/silent.html"
};

Click API button repeatedly.

Debug logs from console:

UserManager.getUser
15:03:37.717 Log.js:63 _loadUser
15:03:37.717 Log.js:63 WebStorageStateStore.get user:http://localhost:5000:webplatform1
15:03:37.717 Log.js:63 user storageString loaded
15:03:37.717 Log.js:63 User.fromStorageString
15:03:37.717 Log.js:68 user loaded
15:03:37.717 Log.js:63 UserManagerEvents.load
15:03:37.717 Log.js:63 AccessTokenEvents.load
15:03:37.718 Log.js:63 canceling existing access token timers
15:03:37.718 Log.js:63 Timer.cancel:  Access token expiring
15:03:37.718 Log.js:63 Timer.cancel:  Access token expired
15:03:37.718 Log.js:63 access token present, remaining duration: 65
15:03:37.718 Log.js:63 registering expiring timer in: 5
15:03:37.719 Log.js:63 Timer.init timer Access token expiring for duration: 5
15:03:37.719 Log.js:63 registering expired timer in: 66
15:03:37.719 Log.js:63 Timer.init timer Access token expired for duration: 66
15:03:38.091 Log.js:63 UserManager.getUser
15:03:38.091 Log.js:63 _loadUser
15:03:38.091 Log.js:63 WebStorageStateStore.get user:http://localhost:5000:webplatform1
15:03:38.092 Log.js:63 user storageString loaded
15:03:38.092 Log.js:63 User.fromStorageString
15:03:38.092 Log.js:68 user loaded
15:03:38.092 Log.js:63 UserManagerEvents.load
15:03:38.092 Log.js:63 AccessTokenEvents.load
15:03:38.092 Log.js:63 canceling existing access token timers
15:03:38.092 Log.js:63 Timer.cancel:  Access token expiring
15:03:38.093 Log.js:63 Timer.cancel:  Access token expired
15:03:38.093 Log.js:63 access token present, remaining duration: 64
15:03:38.093 Log.js:63 registering expiring timer in: 4
15:03:38.093 Log.js:63 Timer.init timer Access token expiring for duration: 4
15:03:38.093 Log.js:63 registering expired timer in: 65
15:03:38.093 Log.js:63 Timer.init timer Access token expired for duration: 65
15:03:38.198 Log.js:63 unchanged message from check session op iframe
15:03:38.435 Log.js:63 UserManager.getUser
15:03:38.435 Log.js:63 _loadUser

Yes, because each time you load from storage the expiration might be different.

@brockallen Could we maybe check if the expiration have changed?
Or maybe before doing the TimersReset,check if the lastTimerTriggerAt was more than TimerTrigger seconds ago, if so. perform the TimerTrigger anyway.
I believe it's a problem because right now the pattern for fetching the current user in the docs will actually cause problems which are non intuitive.

I just made an update to try to address this. Not up on npm yet, but feel free to try it from a local build.

I just released 1.5.0-beta.2. Let me know.


_posts/0000-01-02-asrarwani.md

created a branch, created a file and made a commit, and opened a pull request

File name changed

Close


EntityID should only be used when necessary

Currently, EntityID is always used to refer to an instance of an entity on the server.  This is inefficient and does not gracefully handle generational version of the same name and type.  The pipeline should be migrated to a system using a FetchID used to refer to a specific handle and a concrete instance of the entity on both the active and passive server.

#477 fixes this issue

merged


Remove autoupgrade dependencies in @statoscope/webpack-plugin

Describe the bug
If the project is highly loaded, no one will update the main plugin every time, but its dependencies are constantly updated, which are incompatible with the main version.
Screenshots

Versions:

Node (for non-browser bug): 14.10
Browser (for browser-bug): any
Statoscope: 5.4.8

Additional context
Add any other context about the problem here.

Now I use exact: true in lerna config


0500 System Add-ons

they're still called System Add-ons: https://firefox-source-docs.mozilla.org/toolkit/mozapps/extensions/addon-manager/SystemAddons.html
Thanks!

:kiss:

Sucked having to resolve conflicts - lets not do that again
PS: Trust Mozilla to do a PR piece and go on about not using the word addon but extension for Extensions and Legacy Extensions, and then use add-on with a hyphen in docs, but refer to them as Firefox Features in about:support :smash-head-on-brick-wall:


Secure Kata runtime (shim) and kata-agent communication

This is a tracker issue to investigate and arrive at a solution for securing the communication between shim and kata-agent. Currently the communication is over plain HTTP (vsock over http).

Not sure is it reasonable but looks cert-manager is a kind control plane solution, similar as the CSI driver described here https://cert-manager.io/docs/usage/csi/#enabling-mtls-of-pods-using-the-cert-manager-csi-driver and code repo here https://github.com/cert-manager/cert-manager, cloud-api-adaptor can apply private key and certificates for every Pod, just like CSI for every volume. let's revisit the details when implement this feature.

To enable TLS, we need to update these lines.
https://github.com/confidential-containers/cloud-api-adaptor/blob/2e7978759c8066af7585e041a88be810f42aaa76/pkg/adaptor/proxy/service.go#L69-L70
https://github.com/confidential-containers/cloud-api-adaptor/blob/2e7978759c8066af7585e041a88be810f42aaa76/pkg/forwarder/daemon.go#L79

@bpradipt is this issue still relevant or can be closed?
If it's still relevant to what release do you think we should map it to (mid-November, end-December, mid-February etc...)?

@ariel-adam yes.

I have started prototyping this - https://github.com/bpradipt/cloud-api-adaptor/tree/tls


Add attestation generation action from layout and predicate

Signed-off-by: Asra Ali<EMAIL_ADDRESS>cc @rbehjati this action takes the build's subjects output and combines with a predicate to turn it into attestations to sign

@laurentsimon anything else here? I have to craft some extra malicious SLSA subject layouts (build outputs)
https://github.com/slsa-framework/slsa-github-generator/issues/1423
and update with predicate validation when I have some predicate-aware code
https://github.com/slsa-framework/slsa-github-generator/issues/1422

no further comment from me


Developer Documentation

Create a Wiki for developer documentation and port everything from Notion!

Developer info is now in the Wiki!


Update app.php

Added some env variables + Added Italian language support.

IT lang folder: https://easyupload.io/sqpdb7

Ok, why you don't add the it lang folder to this PR?

How do you create a folder?  I only see "add file"...

Adding folder from your fork with a commit.

https://github.com/eusonlito/Password-Manager/pull/55


Compatibility issue with Savage Ender Dragon Mod

Minecraft version
1.19.4
Mod version
1.0
Describe the bug
Can't open the game, most likely due to clashing between Ender Trigon and Savage Ender Dragon, especially since the latter has player amount scaling.
To Reproduce
Steps to reproduce the behavior:

put the two mods in the mod folder
try to launch the game
game crashes with Exit Code: 1

Crash Reports / Logs
No crash report, don't know what to do about that
Screenshots
No screenshot needed either I don't think

Just tried it with the recommended and latest Forge version, wasn't able to reproduce. This is quite late so you may have solved it already, but try a newer savage ender dragon version.


Bad type definition files in alpha release

The .d.ts files in the alpha release contains some bad imports, stemming from the package-relative imports like https://github.com/graphql/graphiql/blob/ce926bb7ab1e6fbf978ec53a0449c33869073c7d/packages/graphiql/src/components/QueryEditor.tsx#L15
A couple were fixed in https://github.com/graphql/graphiql/pull/1487, but there are a few more in the repo.
You likely don't want to set baseUrl here, as that is what allows those imports during type checking of this project, but not in the published package. Although I haven't looked at what impact that will have on the rest of the build.

thank you! i will address this. this import path has been causing a bunch of issues, and I keep forgetting that we've fixed it only in the rewrite

oops, it auto-closed. I'll be kicking out a new release later today!


Page width toggle not working when Notion-Enhancer is installed

Notion-Enhancer is not respecting the page width toggle. Page width is always at "full width" even when full width toggle is set to off. When toggling on and then off, the width contracts for a second and then snaps back to full.
When I removed Notion-Enhancer, the glitch was eliminated.
Windows 10

@DavidUXer this is a problem with the "neutral" theme that will be changed soon. If you don't want your pages full width, use a different theme until the next release.

Ah, good to know. Thanks for the quick reply!


Add initial WAL implementation and tests

This implements a WAL that is backed by the filesystem and disconnected from BoltDB.
Partitions
The WAL is broken into different partitions. The default number of partitions is 5. Each partition consists of a number of segment files. By default these files will get up to 2MB in size before a new segment file is opened. The files are numbered and start at 1. The number indicates the order in which the files should be read on startup to ensure data is recovered in the same order it was written.
Partitions are flushed and compacted individually. One of the goals with having multiple partitions was to be able to flush only a portion of the WAL at a time.
Compaction
The WAL does not flush everything in a partition when it comes time. It will only flush series that are over a given threshold (30kb by default). Here's the order of steps for compaction:

Lock the partition to determine which series will be flush and move these series to a flush cache. This is against in memory structures and should be very fast.
Start a new segment file so that all the old files can be compacted without blocking writes to this partition.
Write any series that are over the flush threshold to the index (BoltDB)
Read all the old segment files pulling out entries that are in series that weren't flushed to the index and write them to a temporary compaction file
Delete the old segment files as they are read
Rename the compaction file so that it is segment file number 1

The reason for having a flush cache and the regular cache is so that queries can be answered while a compaction is occurring. Also, writes can come into the series that are in the middle of being flushed. They will simply get written into the new segment file and added to the in-memory cache for the next flush.
Task List

[x] WAL writes to disk
[x] Keep entries in memory cache with a method to get a Cursor on them
[x] Read WAL segments from disk on startup to populate cache
[x] Recover from corrupted WAL segment files
[x] Periodically compact WAL based on max series size, percentage of series ready to flush, or max partition size
[x] Gradually delay writes when the WAL is getting backed up
[x] Force flush on max memory size for WAL partitions
[x] Force flush if no writes have happened in some configurable interval of time
[x] Integrate with BZ engine
[x] Ensure that two points in the same series can't have the same time in the WAL
[x] Add saving series and fields to WAL and update bz1 to store metadata in compressed format
[x] Recover from incomplete compaction
[ ] Add option to force flush on startup
[x] Add logging options
[x] Make default WAL directory different than shard dir

Why are segment files numbered starting at 1? Is 0 used for something else? (I have not looked at the code yet, starting now).

Any news on performance with this?

Took a first pass, mostly very small stuff. I don't have the full picture yet for this, but tried to look for common mistakes we make during coding etc. Generally looks pretty clean to me though.
Did have one real question about two fmt.Println statements which don't look right, and it seems we might lose some important logging.

Updated to fix @otoolep's comment about logging. I'm going to merge this in so I can cut RC1 since it's important to get this out for people to test against. However, keep making comments on this PR and I'll address in a separate one.

@jhorwit2 just cut 0.9.3-rc1. Interested in hearing how it performs for you: https://groups.google.com/forum/#!topic/influxdb/T6mF4_WeNkM

@pauldix the RPM link doesn't work :I
I'll try to run some tests tomorrow.

@jhorwit2 -- please try the link below for the RPM:
https://s3.amazonaws.com/influxdb/influxdb-0.9.3_rc1-1.x86_64.rpm

Thanks, are WAL flushes still suppose to cause latency in writes?

Decided to give it a quick shot. I am noticing that WAL flushes are sometimes taking a while (like 5+ seconds) which causes writes to 500 timeout. Besides that issue i'm seeing better performance of the bat.

Also, I noticed the config has /var/log/influxdb/wal as a new option, but I don't see anything at that location. Is that normal??

@jhorwit2 you sure you're upgraded? What version does it say it is? WAL flushes shouldn't cause writes to timeout at all. Writes should still happen while flush and compact is running.
If that changed then it has to be due to something I merged into the WAL branch earlier today, because I tested it extensively and definitely wasn't getting any delay due to WAL flush.
The new location should have the WAL files, but it does a complete flush of a given partition if you haven't written data in 5 minutes. But there should still be directories in there for the partitions.

@jhorwit2 actually, if you upgraded, but have old data around, then you're probably still writing to a b1 engine, which doesn't include this update. You'll need to either start with a fresh database, or wait for a new shard group to get created for current data, which will use the new engine + WAL

I can confirm that the performance enhancement appears to be great. I'm currently writing 10k points/sec. peak without any issues (it appears Influx is sweating way less than before) and have done so for a few hours. Before the change, it would stop working latest after ~30 min.

@kenzodeluxe What kind of hardware? Are you writing a single data point per request? I'd expect you to be able to get 10x that if you batch points together in requests in 1k to 10k batches.

I did some preliminary testing this last weekend on your branch and was getting up to 50k/s with pretty standard points (few tags and 1 field float value).. This was on my home linux box so a 4 core, 16gb ram, ssd computer.
I'm updating our test box (32gb ram, 16 core, ssd) this morning and i'll run more tests.
@pauldix you were right about using the old b1. I made a new database and things seem better

@pauldix This is right now a VM running on a PowerEdge R720 with 4GB memory and 4 cores (for testing); the requests are batched, but we had reduced the number of points per batch based on our past experience (with the actual hardware and running natively). With 90k entries/batch, I can see 3s time to write the data which is great. Once we're done with our preliminary testing we'll move this over to actual hardware (and I can share further details then).

@pauldix - I'm seeing some really weird things with queries. I'm getting non-deterministic results from my select queries. I sometimes get back something super small like 15 and sometimes i get 2000+ (i expect this #)

You can see some of that here. These are screenshots after a refresh.

@pauldix - ran some tests with this script.
metrics: 18:32:14.247656 timer requests
metrics: 18:32:14.247679   count:            1200
metrics: 18:32:14.247696   min:         145223292
metrics: 18:32:14.247719   max:         783.381
metrics: 18:32:14.247736   mean:        550.923
metrics: 18:32:14.247755   stddev:      126.184
metrics: 18:32:14.247770   median:      586.401
metrics: 18:32:14.247785   75%:         636970736.00
metrics: 18:32:14.247799   95%:         691.052
metrics: 18:32:14.247814   99%:         735.061
metrics: 18:32:14.247829   99.9%:       783.269
metrics: 18:32:14.247846   1-min rate:         18.40
metrics: 18:32:14.247862   5-min rate:         16.67
metrics: 18:32:14.247878   15-min rate:        16.24
metrics: 18:32:14.247894   mean rate:          19.76

My rate was about ~18.40 requests per second over a minute which at a batch of 5k is ~92k points per second. 9.2 definitely couldn't handle this scale even with a tweaked config.

Not sure why though, but i can only get that performance or anything close when I run the load tests on the machines themselves. If I run the load test script on my macbook pro to a server (got it spun up) I can't even sustain 10k points per second. The same goes for my laptop to my home linux box.
ping to server is 10ms. Ping to home box is 2ms.

influxd was killed by OOM yesterday; I increased available memory to 64G, running stable since then. Had 5 timeouts on writes that took longer than 5s in a time frame with heavy querying from Grafana. Without that load, a batch of 10k points usually takes ~250ms to process (according to the logs).

Posted this on the mailing list, re-posting here. In short, there are still write timeouts with many clients sending small-ish batches of metrics.
To replicate write timeouts, the following load test client command can be used with influxdb graphite plugin listening on tcp port 2003. Graphite plugin batch size is 102400, though adjusting it makes no difference.
# 100 persistent concurrent connections sending batches of 10 metrics with no delay between batches
$ python graphite_test_client.py -c 100 -m 10 -d 0 <IP_ADDRESS> 3600

Effect on influxdb:
[graphite] 2015/08/21 10:19:53 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:19:58 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:03 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:08 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:13 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:19 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:24 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:29 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:34 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:39 failed to write point batch to database "graphite": timeout
[graphite] 2015/08/21 10:20:44 failed to write point batch to database "graphite": timeout

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
28019 influxdb  20   0  586m 285m 6948 S 100.6  1.8   6:20.88 influxd

To install load test client dependencies run pip install -r requirements.txt after cloning the gist.
Hope this helps.

@pkittenis Are your test results from 0.9.3-rc1 or another version of the database?

@beckettsean - 0.9.3-rc1, yes.


TransactionContext Error: Failed to commit: File is not opened in write mode.

I am trying to load a large duckdb file (700MB), and the UI errors out with the following message "TransactionContext Error: Failed to commit: File is not opened in write mode.".
The file is writable on the file system. I am using a Mac, and I start the UI after cloning the repo. Is there a workaround for this?

Hi! Thanks for your interest in Huey.
What kind of file is it? Would it be possible to share it? If not, could you try to cut the file in half and try to load that?
For testing I often use the large volume taxi trip data dataset (https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page).
Those are 450 MB Parquet files, and I can open multiple of those at once without issue.
If curring in half does work then I suspect it is an issue with duckdb wasm. The workaround in that case would be to indeed cut the files in half. When loading in Huey, Huey will detect whether files have the same column layout (names + datatypes), and offer you to analyze either the individual files, or a union of all those files, effectively allowing you to analyze the entire dataset.

Haven't heard back, closing.