Scanner reserve files 2

So, I hear what you are saying regarding the referencing counting, close never getting called, and the performance hit of doing updates as part of the scan thread. Do you think that using the SessionManager to keep track of what is running would be enough? You typically work later in the day, and I have to knock off early today, so I will take a stab at something this morning and if it's not the right solution, then you can still work on it today.

Do you think that using the SessionManager to keep track of what is running would be enough?

Not sure at the moment, need to go spelunking in the tserver code to see what if anything might work for this.

https://github.com/dlmarion/accumulo/commit/b9f5bf56c71d9960b27896a25bd3a5aa85f14a20 is an attempt at inserting/deleting the scan references a little differently. It's in a branch off of this branch.

https://github.com/dlmarion/accumulo/commit/b9f5bf56c71d9960b27896a25bd3a5aa85f14a20 is an attempt at inserting/deleting the scan references a little differently. It's in a branch off of this branch.

That seems to move to a model of not waiting for the scan server refs to be inserted before starting the scan, is that correct?  We still have the race condition where the files could be deleted by Accumulo GC.  Maybe we could do the following.

Asynchronously insert scan server refs like   https://github.com/dlmarion/accumulo/commit/b9f5bf56c71d9960b27896a25bd3a5aa85f14a20 may be doing. This is a best effort to prevent GC, but will not always prevent it.
Handle the case of files being deleted when a scan runs and get a new set of files for the tablet and retry the scan.

That seems to move to a model of not waiting for the scan server refs to be inserted before starting the scan

Yes, this change makes it such that both the insert and delete are done asynchronously to the scan and cleanup is done if close is never called.

We still have the race condition where the files could be deleted by Accumulo GC.

True.

I tried building on this and pushed https://github.com/keith-turner/accumulo/commit/f3f0fff40a8d323fd5b4309ae58da8eedb82676c ... that commit does not even compile.  I got startScan and continueScan to a place where I wanted them.  Need to complete making the multiscan calls work and change the code to support multiple tablets.
I cherry picked a few things from https://github.com/dlmarion/accumulo/commit/b9f5bf56c71d9960b27896a25bd3a5aa85f14a20 ... but not sure if I got everything I needed.

The commit I referenced is in this branch https://github.com/keith-turner/accumulo/tree/scanner_reserve_files_2

I got startScan and continueScan to a place where I wanted them. Need to complete making the multiscan calls work and change the code to support multiple tablets.

Looks good, let me know when you are done with your planned changes and we'll get it merged in and fix up the tests

Looks good, let me know when you are done with your planned changes and we'll get it merged in and fix up the tests

I created PR #15 as PR to your branch for the changes.  I tested the changes locally using Uno.  I did the following.

Enabled trace logging for the ScanServer
Ran scans and batch scans from the shell
Saw log messages that looked correct (the first scan did the inserts for refs, but subsequent scans did not)
Waited a bit and saw the tablet server delete the scan refs after idle
Scanned again and saw the refs get added back

Going to look into making a bit of the code use a batch scanner for metadata lookups tomorrow and try running the IT


Update index.html

Added name as requested in the ACC lab for this demo.

Other students have added their name to the end of list, creating a merge conflict.
Could you also change the tabs in your line to spaces?


Add ability to pipe internal log messages to special log window.

This should take stdout and stderr and pipe out if needed. Also, allow users to create handlers to pipe messages into the CLI framework.

Functional.  Its a little ugly, but I it works.


[AF-549-elastaic]: upgraded jackson version to 2.8.8

It seems that I also modified some spaces into pom.xml, If those shouldn't be there tell me and I will revert them.
@mbarkley Can you review this please?

Jenkins execute full downstream build


Add option to prevent select and download karaoke song

What is the purpose of your issue?

[ ] Bug
[x] Feature Request
[ ] Question
[ ] Other

Description
Add option to prevent select and download karaoke song.
INFO: 4. Learning To Fly -  Pink Floyd (Lyrics karaoke) [ goodkaraokesongs.com ] (http://www.youtube.com/watch?v=TAXgOpC4tzg)
  5,004,405 Bytes [100.00%] received. Rate: [6817 KB/s].  ETA: [0 secs]
INFO: Converting Pink Floyd - Learning to Fly - Live.m4a to mp3
INFO: Applying metadata

Try the --manual and/or --music-videos-only flags. I don't really see the need for a special flag here.


Bio: phylogenetic tree viewer based on PhylocanvasGL

[ ] move tree viewers to bio
[ ] add to documentation
[ ] add to community
[ ] perform tests

PhylocanvasGL viewer is located in PhyloTreeViewer package


typo: Absolute to relative link for next lesson

@nschonni - thanks for the edit!
#sign-off

@stevestein: I'm sorry - only the author of this article, @HeidiSteen, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Option to facet by date using month or year

Facet by date (from #481) can take datetimes and facet them by the day component.
https://latest.datasette.io/fixtures/facetable?_facet_date=created
I'd like to also be able to facet by month or year.
I'm not sure what the best way to achieve this is. Could be two more Facet classes (YearFacet and MonthFacet) but I think it might be nicer if the existing DateFacet could take an optional argument that changed its behaviour. But... if I do that, do I expose it in the UI somewhere or is it only available to URL-hackers?

Here's a UI concept:

Would this be useful for other facets? How many facet types are likely to have a small number of options that could be linked to in this way?

I think that location information is one of the other common pieces hierarchical data. At least one that is general enough that extra dimensions could be auto-generated.

Yes there's definitely something exciting to be done with location facets.
The easiest one would be a radius-distance-from-a-point facet (5km, 10km etc). A more sophisticated thing might be possible on top of GeoJSON and SpatiaLite - that's probably something I would put in a plugin rather than shipping in Datasette itself.

I'm going to stick with ?_facet_date= for this and use the not-yet-fully-baked JSON alternative syntax. Probably something like this:
?_facet_date={"column":"created","interval":"month"}


Error running through UglifyJs

There is a new error due to the HOC. I get it when running yarn build in a create-react-app. Basically UglifyJs fails to process the HOC, apparently expecting it to be already compiled to ES5. Isn't the lib run through babel in a prepublish step? Not sure how to approach this. Any idea @Olical?
react-scripts build
Creating an optimized production build...
Failed to compile.

static/js/main.2f8d0454.js from UglifyJs
SyntaxError: Unexpected token: operator (>) [./~/react-faux-dom/lib/withFauxDOM.js:4,0]

error Command failed with exit code 1.

The babel step only happens to lib/ReactFauxDOM.js I think. We'd have to have two entry points or require the HOC from within the main file to get it to work. Maybe we should require it and export it, but I'm not sure if it's better having it optional.
We could always just take out ES6+ code.

I just came across the same issue described by @tibotiber.
I've found ways to make UglifyJS work but it uses development code that I'm not really comfortable with: https://github.com/webpack/webpack/issues/2545#issuecomment-300492798
@Olical What prevents using dist/ReactFauxDOM.min.js instead of lib/ReactFauxDOM.js in package.json main?

+1 Uglify throws error, if you having above error do not switch to react-faux-dom 4.0.0 stay at 3.1.0

@sdhicks :+1: for the idea. I just opened a PR doing exactly that and tested locally, it solves the issue. I was unfamiliar with the main config in package.json, thanks for pointing that out.

I'd prefer not to default to a minified version, any function name mangling done in the name of network transfer then has an impact on people using it during development or on the server. All stack traces will be ruined since there are no source maps. So I'm reluctant.
Is the issue just that we have ES6 code that can't run through uglify? I'd say the better approach would be to make sure it is run through babel like the rest of the code, then people can uglify if they want to. I, personally, really don't like consuming minified files during development, I prefer to do the minification myself as a build step.

@Olical good point. Should we remove the minifying from the build step then? We could still run the code through babel without minifying? I think the problem does not come from ES6 but from JSX in the code.

It's because you're using an arrow function I think. The rest of the code doesn't even use ES5+ as far as I can remember? I'm not sure why I even have babel in the first place. Would you be able to remove those ES6 features? If not I'll try to do it today, maybe over lunch.
I'd rather steer clear of babel and the mountain of complexity that is transpiled JavaScript. I can't actually remember why it's even referenced anywhere, pretty sure all I used was webpack and uglify to build the minified browser version.

Oops, my bad, no JSX indeed.
So, I'm OK to switch to full ES5 but may require some help to do so.

[x] arrow functions are not an issue
[x] we must create a component without class ... extends React.Component because that is ES6 and without React.createClass() because that is deprecated. It seems doable with createReactClass() as detailed in the docs. Note: this might reduce performance though!
[ ] this is where I need help -- the HOC does not extend React.Component but the wrapped component itself to manage the inheritance inversion. So createReactClass() doesn't help here finally. How would we go about extending a custom component without ES6?

Considering this complication in implementation and the potential performance drawback from not using class components, we might still prefer to use ES6 and generate a non minified but transpiled version as main? The current babel config seems good and you need to manage it for your browser version anyway. I'm wondering how other libs handle this?

Alright, on my lunch break, taking a look.

@tibotiber @Olical I think using ES6 is perfectly fine especially with all the added functionality and performance benefits! It's just the code that is published should be compiled down to ES5. In the future (with the harmony dev branch of uglify) this won't be an issue. This might be a long way off though?
From what I've gathered from a few libs (https://github.com/nfl/react-helmet is the example I'll use here) is they typically have an src/ folder for their own development but published releases contain a lib/ and es/ (less frequent) folder with babel compiled code. Their package.json main entry point is ./lib/Helmet.js.
Let me know if I can do anything to help!

Yep, I know about src -> lib on release, I've done it for a few things at work. I just prefer to remove it where I can, I don't see any reason to use the new syntax other than convenience over large code bases. For libraries I like to keep it simple. I'm converting it to ES5 now. Not sure why ES6+ would be faster though, it's only syntax, not runtime :slightly_smiling_face:
Many developers steer clear of it transpiling entirely, which I can completely understand, so I'd rather spend a little more effort to make it easier and leaner for people downstream.

@Olical @tibotiber thanks for the quick responses and fix btw!

Here's my PR that ES5s all the things: https://github.com/Olical/react-faux-dom/pull/100
Thoughts? Does this work? Not sure if anyone has a nice broken environment they can pull this into to check. A real world scenario would be best!

I think I can delete most of the stuff that refers to babel, I don't actually know why it's there. There's some consts but they're in the tests where they're okay anyway.

@sdhicks @tibotiber @EsrefDurna - can any of you confirm that this works?
I accidentally published it as 4.0.1. I tried to publish a next tag but did something wrong :neutral_face: - so I hope it's okay!

@Olical checking here shortly

@Olical I didn't notice 4.0.1 on npm so I cloned this repo and checked out your pr's branch es5ify-withFauxDom.

fresh install of "react-faux-dom": "4.0.0" resulted in the error reported above:

ERROR in dashboard_vendors.js from UglifyJs
Unexpected token: operator (>) [./~/react-faux-dom/lib/withFauxDOM.js:4,0][dashboard_vendors.js:87860,38]

copying lib/ from cloned react-faux-dom (checking out branch es5ify-withFauxDom) into my project's node_modules/react-faux-dom resulted in a successful build and no error message.

testing a page that uses react-faux-dom resulted in correct behavior

With that, I confirm your changes in https://github.com/Olical/react-faux-dom/pull/100 resolve the issue addressed here!

I did npm version patch && npm publish --tag next, so npm install<EMAIL_ADDRESS>should still spot it, but npm install react-faux-dom wouldn't default to it. That's great to hear though! Thank you very much for testing and I apologise for any inconvenience caused.
I should've caught that the ES6 features wouldn't be compiled down for consumers when I merged the changes. I'll pay more attention to that in the future!
Well done everyone, I'll deploy as 4.0.2, let me know if any issues persist after that.

Fix is not working! I'm getting this error:
Uncaught TypeError: Cannot read property 'chart' of null
    at Object.render (App.js:26)
    at applySuper (withFauxDOM.js:14)
    at Object.render (withFauxDOM.js:68)
    at ReactCompositeComponent.js:796
    at measureLifeCyclePerf (ReactCompositeComponent.js:75)
    at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:795)
    at ReactCompositeComponentWrapper._renderValidatedComponent (ReactCompositeComponent.js:822)
    at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:362)
    at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258)
    at Object.mountComponent (ReactReconciler.js:46)
    at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:371)
    at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258)
    at Object.mountComponent (ReactReconciler.js:46)
    at mountComponentIntoNode (ReactMount.js:104)
    at ReactReconcileTransaction.perform (Transaction.js:140)
    at batchedMountComponentIntoNode (ReactMount.js:126)
    at ReactDefaultBatchingStrategyTransaction.perform (Transaction.js:140)
    at Object.batchedUpdates (ReactDefaultBatchingStrategy.js:62)
    at Object.batchedUpdates (ReactUpdates.js:97)
    at Object._renderNewRootComponent (ReactMount.js:320)
    at Object._renderSubtreeIntoContainer (ReactMount.js:401)
    at Object.render (ReactMount.js:422)
    at Object.<anonymous> (index.js:6)
    at __webpack_require__ (bootstrap 96c7d4f…:659)
    at fn (bootstrap 96c7d4f…:85)
    at Object.<anonymous> (fetch.js:461)
    at __webpack_require__ (bootstrap 96c7d4f…:659)
    at validateFormat (bootstrap 96c7d4f…:708)
    at bundle.js:712

This is on the test-4.0.1 branch of the minimal example I posted earlier.

@Olical I've invited you to that repo. Thanks for the invite here by the way, feeling proud 😊.

Oh no, I'll have to sort this after work now. That's really strange, I must have bound something incorrectly :frowning:

I just checked the code. It seems to me that the component returned by the HOC does not extend the one provided as argument, it only reuse some of the lifecycle hooks and render method. So anything else, such as state defined in the constructor, or class properties and methods defined by the user on the passed component, are not present on the returned component.
This is exactly were the implementation of the inheritance inversion was causing me trouble to implement.
@sdhicks can you confirm whether your test code was using the withFauxDom HOC? Or maybe you changed lib but the package.json main was pointing to dist (if you played around with that)?

Oh balls, my bad. I'll try to fix the extension later, there must be a way to do it.

Oh balls, my bad. I'll try to fix the extension later, there must be a way to do it.

@tibotiber a fresh install of "react-faux-dom": "4.0.2" seems to work for me here

@sdhicks are you using the withFauxDom HOC?

@tibotiber Ah, I am not - that's why I didn't see this error crop up when testing. I am simply using react-faux-dom for rendering a word cloud using d3 and d3-cloud, ie:
this.wordCloud = ReactFauxDom.createElement('div');
and after some cloud layout code return this.wordCloud.toReact();
I just started using this dependency and am very interested in learning other pros in using it! But I do want to apologize in not catching the error when I gave the all clear 😢

Ahah, no problem! At least we have consistent behaviour. Thanks for your inputs and ideas here :+1:.

As far as I can tell so far, to do a HOC you need to render the child like this
    render: function (props) {
      return React.createElement(WrappedComponent, props)
    }

And pass all of your methods through as props. Sound about right? I kinda like this since it'll work with stateless function components too.

HOCs have varied purpose, props proxying is one of them which I found to be the wrong abstraction for our use-case when I implemented withFauxDom. I'd advise checking this article which explains the different techniques for HOCs shortly but with good depth.
The way the Mixin worked was to manipulate the component instance's state using its instance methods. I find it natural for the behaviour we try to implement, which is why I tried to keep that mindset. There are ways to do this with refs (I believe) but I find them kinda hacky. The inheritance inversion here is an elegant solution in my opinion. I agree that class inheritance should be avoided in general as this is not the best way to compose React components, but I do find it to be a good fit for this particular use-case. Note that this is the first time I'm actually using class inheritance and I am generally advocating OLOO vs OOP in JS, so I'm not a fan of classes normally.
I suddenly thought of this comment I wrote when implementing the HOC: the idea here is we would actually be happy avoiding the inheritance inversion and asking users to extend a ReactFauxDOM.Component that has specific behaviours (using instance methods to manipulate the component state), exactly like the React team recommends React.PureComponent for the same kind of reasons. The only issue is that this lets users override lifecycle methods that are necessary for the ReactFauxDom.Component to work properly. Hence we would need to highlight in the docs that some methods need to be called with super() if the user overrides them. This is why I chose the inheritance inversion, it puts the class extension on our side and we can take care of calling super() if needed, which is simpler and safer for the user.
I'm not pushing for the inheritance inversion of class inheritance here, I just want to share the implementation choices I have silently made so we can make a better group decision on a potential rewrite 🤓. Let me know if I am not clear, I realise this might be a bit dense and I find it hard to explain concisely 😕.

In French we say only crazy people don't change their mind. I had to write down this whole comment explaining my idea to realise it was not that right finally. The props proxying is the right approach. Pushed #102 to implement it :).


SW-2051: Dialog to add accession search columns has different title than its menu item

This PR is a follow-up to modify the dialog/modal title copy to match the wording in associated the menu item.

@karthikbtf this PR is a follow-up. @sgrimm QA'd the work and pointed out (in the comments of [the Jira ticket])(https://terraformation.atlassian.net/browse/SW-2051) that the dialog/modal title copy and menu item copy didn't match: "Customize table columns" --> "Edit columns".

@karthikbtf I just realized what you were getting at — the changes are the same in this PR. Oops that's definitely an accident. I'll close this and open a new PR.


game is typed as any when using new solver

This should be fixed by #783 and available in the next release


What does GovernanceBypass do?

For example, the PNG file path in minio is test/childtest/abc.png, and only the abc.png file is available in childtest. When I use the RemoveObject method and set GovernanceBypass to true in (minio RemoveObjectOptions{}), does it remove only "abc.png" and leave its path "test/childtest/"? If not, what is the role of GovernanceBypass when it is true or false?

https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html


Support for Cucumber Java 8 Lambda Definitions

Are the Java 8 style bindings supported with Quarkus-Cucumber?
When I try to define my StepDefs as such:
class ApiStepDefs : En {
  init {
    Given("A GET request to the API") {
     // code goes here
    }

    When("We execute the request to the {string} endpoint") { endpoint:String ->
      // code goes here
    }

    Then("We get a blank list as a response") {
      // more code here
    }
  }
}

The test errors out as if the stepdefs were undefined
Undefined scenarios:
classpath:com/example/features/integration/Api.feature:5 # Calling the GET the api without prior initialization returns a blank list

1 Scenarios (1 undefined)
3 Steps (2 skipped, 1 undefined)
0m0.091s

For completeness, the feature file is:
# Created by Dev at 2022-11-15
Feature: An API
  Details the API behaviour

  Scenario: Calling the GET the api without prior initialization returns a blank list
    Given A GET request to the API
    When We execute the request to the "/endpoint" endpoint
    Then We get a blank list as a response

and the Runner stub
package com.michelin.pmu.dojo.features.integration

import io.quarkiverse.cucumber.CucumberOptions
import io.quarkiverse.cucumber.CucumberQuarkusTest

@CucumberOptions(
  plugin = ["pretty", "summary", "me.jvt.cucumber.report.PrettyReports:build/reports/cucumber/integration"]
)
class RunCucumberApiTests : CucumberQuarkusTest()

The features, stepdefs and runner are all in the same package.

Addendum:
Converting to the old Cucumber StepDefs format works
class ApiStepDefs {

  @Given("A GET request to the API")
  fun a_GET_request_to_the_API() {
    // code
  }

  @When("We execute the request to the {string} endpoint")
  fun we_execute_the_request_to_the_endpoint(endpoint: String) {
    // code
  }

  @Then("We get a blank list as a response")
  fun we_get_a_blank_list_as_a_response() {
     // code
  }
}

I would like to be able to use the lambda style though


April Fools Day:  Oops, All Captains!

About the PR

(April Fool's day PR)
Adds a new game mode where everyone is the captain.
Also, during the game mode, captains can be traitors to keep things interesting.  Role timers are also disabled during the game mode.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

add: New game mode:  Oops, All Captains!

This is literally just TTT! (SSS)

I don't know what your acronyms mean

trouble in captain town

also unless you are doing 2^31 - 1 is intentional theres an explicit thing for uncapped jobs, see passenger and the bureaucratic error that can make a job uncapped


Add jobs that can send notifications directly

Rename ErorrNotifier to just Notifier or something like that and add Jobs which can send notifications directly through this interface

Update: All jobs should be able to send notifications directly


Release 0.11.0?

Quite a lot changed since 0.10.0, and the warning: doc comment not used by rustdoc in 0.10.0 on nightly is mighty annoying. Would be nice to have a version that fixes that.
I would suggest waiting for #210 and #193 because they are done, they should just be merged. Is there some other feature you are waiting for that is planned for 0.11.0, or can it just be released?

SGTM.

Should be good, just waiting for travis to finish the tests.

Done!


Prevents mono header imports when targeting iOS/MacOS.

Resolves mono/Embeddinator-4000#478

Hello! I'm the build bot for the Mono project.
I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Additional trigger words are available here.
Contributors can ignore this message.

approve

I can confirm that this PR fixes https://github.com/mono/Embeddinator-4000/issues/478.

Thanks for the fix, I'm waiting for CI and will merge it.

Happy to help, and keep up the great work! 🥇


No module named 'fastapi'

Hello, I have a problem launching the Web-UI,
Could you tell me where the problem comes from?
/notebooks/stable-diffusion-webui
Traceback (most recent call last):
  File "/notebooks/stable-diffusion-webui/webui.py", line 7, in <module>
    from fastapi import FastAPI
ModuleNotFoundError: No module named 'fastapi'

Thank you

Ok, I will,
sorry for the late reply I was travelling,
I will try updating the repo and report back,
Best,
Arnaud

Hello,
sorry to bother but it is still now working,
I still get the same error when I launched the webui.
This is the tutorial I'm using,
could you take a look at it and maybe see if a step is missing,
Link to tutorial
Thank you

Are you running every block up to the Launch the WebUI block? You need to run every block or you won't install everything (you can skip the Download the Model section if you've already downloaded what you want).

Hello, I made a screen capture of the paperspace until it stalls when I get to the webui.
I hope this will clear up everything.
https://github.com/Niutonian/paperspace/blob/main/stableDiffusion_paperSpace.mp4

Update the notebook, delete stable-diffusion-webui, restart the machine. Then reinstall. Maybe that will fix it?

Actually, here's the problem.

You're using the latest webui version but not the latest notebook. The current way to install dependencies is like this:
# Import launch.py which will automatically run the install script but not launch the WebUI.
# They require a few specific external git repo commits so we have to do it their way.
import launch
launch.prepare_enviroment()

Just update your notebook and that should fix it.


Finetune - Running on different gpu configurations

How would I change the sft scripts to run on different gpu configurations?
For example, this cogagent script is configured to run on 2x A100. How could I change this to run on 4x or 8x V100?
Thanks!

To specify which GPUs to use, you can use the CUDA_VISIBLE_DEVICES environment variable.

Thanks @Jintao-Huang , what if I need to change the memory configuration? For example, 1 V100 != 1 A100. So how do I account for the differences in memory?

V100 does not support bf16, and fp16 cannot be used as trainable parameters. Therefore, the model can only be loaded as fp32 and trained using mixed precision, which results in more than double the memory consumption compared to A100.


refactor: 💡 use import hooks from React proper

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Nexon Old Browser Security Update

As of 2/24/2021, Nexon changed security settings on their website(s), and now requires IE version 10 or higher to function properly. IE versions 7, 8, and 9 no longer create the proper cookies requires for launch and the WebBrowser class defaults to IE7. This change adjusts the FEATURE_BROWSER_EMULATION registry key and adds/updates an entry for GameStarter.exe to use IE 10 or 11 (whichever is the lowest present on the host machine). If IE 9 or lower is the latest, it will error out and not allow the application to run. Updated app to version 1.3.
Note: I saw you made updates on your end, I just happened to not send this PR till this morning, but this change does not require any change in the framework or additional downloads required. If you wish to stay the course of Webview2, then feel free to disregard this. I also tried to send a friend request on discord so I can DM you to discuss this; however, you can disregard it if you wish to keep things as you have changed.

After discussions with Miyu, we are keeping Webview2 as this is a better way forward.


env: use default values when env is missing variables

This MR modifies getEnv into lookupEnv in order to handle the
cases where env variables are not defined.
Closes #12

I'm sorry, I missed it back in the days, and this repository is about to be archived. Let me close it. I hope you won't mind 💋 (miss working with you.)


Texture marked for update but image is incomplete warning

Hey there,
I'm getting this warning:
THREE.WebGLRenderer: Texture marked for update but image is incomplete
My scenes are loading and displaying rather slowly, and its also making the webpage very slow (evident when scrolling past the scenes), and I believe it has something to do with this warning. Any fixes?

Could you share your scene?

This is one of the scenes that we're using: https://app.spline.design/file/30f09000-8007-49f2-a7c6-e9d5d0b6139d

Your scene seems simple enough, I think the reason your webpage feels slow is because there are many instances of Spline all together.
I would advise you to have a simple exported Spline scene and animate the cards position instead.


File tab completions should show just base name

This saves some screen space.

I am less sure about this one, i sort of like seeing the whole path.

Closing this until someone complains and/or fixes it themselves, I don't see much point.


Custom command ignoring tenant

Hi, I'm writing a custom command and I'm realizing that even if I specify a --schema when running the custom command with tenant_command some times I'm getting error:
django.db.utils.ProgrammingError: relation "my_table" does not exist
LINE 1: SELECT (1) AS "a" FROM "my_table" WHERE "my_tabl...

I've notice that this happens when I'm trying to access a tenant app and suddenly some models are not properly tenant configured and throw the error.
Any away I can ensure the right schema is properly configured?
This only happens when running code through a tenant_command where I'm loading modules dynamically and one of them causes an exception.
My Logic:

run ./manage.py tenant_command demodata
my demodata command looks through all the django applications, find the ones containing a demo folder and loads each file in it the calls a install() method sample gist

demodata command files two files cats.py and dogs.py, it loads them and then calls a method first on cats.py then dogs.py

cats.py fails with an exception "integrity bla bla, duplicate key" so far, everything is as expected

dogs.py gets run and upon executing the first db query Dogs.objects.filter(goodBoy=True) it fails with

django.db.utils.ProgrammingError: relation "pets_dogs" does not exist
LINE 1: SELECT (1) AS "a" FROM "pets_dogs" WHERE "pets_dog...
                               ^

this is a really weird scenario, if no exception is caused by cats.py then dogs.py runs just fine

So I found the cause, for some reason when I cause a exception on the database side, let's say an Integrity Error which raises a django.db.utils.IntegrityError for some reason a new cursor gets created on the django side, this new cursor doesn't have the proper search_path but the _cursor() funcion on base.py things it does and therefore it doesn't re-set the search_path a way around this is to monitor if the cursor we are getting is different from the previous cursor we got.
New attribute of the DatabaseWrapper
_previous_cursor = None

and inside _cursor() validation of search_path
if (not get_limit_set_calls()) or not self.search_path_set or self._previous_cursor != cursor:
            self._previous_cursor = cursor

@perrohunter Thank you I will have a look at the pull request

Merged


Bot crashes after sending the phone number

After using /auth and sending my number the bot crashes.

The client seems to stop right after you launch the bot.
Try to run it directly with python3 src/python/Client.py.
You should get some more insight on why it's not working.

The client seems to stop right after you launch the bot.
Try to run it directly with python3 src/python/Client.py.
You should get some more insight on why it's not working.

Seems like a package was missing. Fixed that and was able to auth when running it directly, but still crashes when I try to auth with npm start.


Update Cargo.toml add repository

to allow crates.io, rust-digger, and other to link to it

On this page on the Rust Digger you will see information about all of your crates, once you upload more.


Always use rectangular prompt for multi-line input

This commit changes multi-line input support in the following way:

If there is no highlighter, the prompt is used in the first line and
next lines are prepended by amount of spaces equal to the first line
prompt
If highlighter is used, the original prompt is passed for every line
to the highlighter, and highlighter is free to change color or
characters of the prompt as long as its length is the same (usual
contract for the highlighter)

Internally this changes layout object to contain cursor position
without prompt size (this should make it easier to allow non-rectangular
prompts in future).
This mostly fixes #311
I've only implemented this thing for unix terminal. I'll take a look on windows support if this general approach is fine.

We should be able to keep the current behaviour (no continuation prompt, no space alignment).

Is there are good use cases for that? Or is this just for backwards compatibility?
I can do that, just not sure if it worth the complexity. In particular, how to configure that?

Highlighter::has_continuation_prompt ?
Editor::set_rectrangular_prompt(true) ?
if highlighter.highlight_prompt(..).is_empty() ?

Another question is how cursor should work? In the master, LineUp behaves as if prompt is rectangular (i.e. it keeps cursor column relative to the text, regardless of the length of the prompt).

As a readline alternative, we should try to keep a similar behaviour when possible.
And the screen size/resolution may be limited. Using extra space may be wasteful.
Highlighter::has_continuation_prompt seems fine.
I guess that LineUp and LineDown are the only commands that depend on the layout / number of columns. If we have a mix of long wrapped lines and short lines, we should have the same problem, no ?

Highlighter::has_continuation_prompt seems fine.

Okay.

I guess that LineUp and LineDown are the only commands that depend on the layout / number of columns.

Yes, as far as I understand for now. It will change if/when we have rectangular selection.

If we have a mix of long wrapped lines and short lines, we should have the same problem, no ?

Yes. Vim has two different commands to handle wrapped lines gk and gj vs k and j. But implementing those requires handling line wrapping by rustyline which isn't the case now as far as I know.

Perhaps, it's fine to keep cursor movement as the current master, and recommend using continuation prompt in case multi-line statements are frequent enough and where column movement matters (i.e. where input is something properly indented or a table).

I am sorry to not be more helpful right now.

Done. Let me know if anything else needs to be changed.

I will try to have look tomorrow and keep you posted...

Thanks.


Shared Channel data on the Relay

Modifying permanent channel schema on relay
Updating relay APIs to use new schema

F&F Data
Unencrypted:

New Flag
Version Number
Timestamp
Active Flag
CH ID

CH Key Encrypted:

Payment Addresses (Key-value pair): Test and Checking for now
Wallet ID
FCM Token
Wallet Name
Relationship Type

Keeper Data (Backup Data)
CH Key Encrypted:

PM Shard (enc with ans)
Validator
Creation timestamp
Question ID
Question text (if ID = -1)
Scheme/ Level
Keeper Info/Index: List of Keepers
Share ID

CH 2 Key Encrypted:

SM Shard (enc with ans)
BH xPub (enc with ans)

User Keys:

Show Recovery Key = Channel ID + CH1 Key
Show Approval Key = Channel ID + CH2 Key


Create document makes unnecessary GET request

IF I create a new document with:
$test_db->create(["name" => "Alice", "interests" => ["eating", "wondering"]]);

the library does a

POST /db/ API call to create the document
GET /db/id API call to fetch it back

The second API call could be removed without affecting the functionality with something like
$doc['_id'] = $response_data['id'];
$doc['_rev'] = $response_data['rev'];
return $doc;

i.e. return the document body with the _id and _rev appended to it (without having to fetch it from the server).
Doing a quick POST + GET can expose eventual consistency problems in a distributed system i.e. you create a document in one part of the cluster and fail to GET it back before it has propagated to the other side.

The document update function also makes a  GET request too. That could be removed too.

I did both of those intentionally, wanting to make sure that we only had values that the server had.  I'm not sure where I want to be in terms of defensive vs performant.

If you get a CouchDB 201 back, that guarantees your data is paged to disk (or on Cloudant, is on disk on a quorum of servers), so you needn't do any additional work. As I say in the post, occasionally, if you're unlucky, you'll get eventual consistency problems too.

Also with hosted Cloudant you have a quota of API calls, so the fewer the better :)


Document nimbleOptions actual behavior

Fixes #558

I'd rather we just put the logic into nimbleOptions() that detects if the input is a list and if so does the do.call.
I guess since it's possible to use nimbleOptions with a single name=value pair where 'value' is a list itself, we need to detect if we are getting a list of name=value pairs or a single name=value with value as a list.
If you want to merge as is, feel free, but let's leave this open so that someone can circle back to modify the behavior.

@paciorek That sounds reasonable. How about something like this?
nimbleOptions <- function(...) {
    args <- list(...)
    if (!length(args)) {
        # Get all nimble options.
        return(as.list(.nimbleOptions))
    }
    if (length(args) == 1 && is.null(names(args))) {
        # Set all nimble options from a list.
        args <- args[[1]]
    }
    # ...continue processing args...
}

Yep, I think that looks good.

LGTM


Move Ruby to the new secure server API

To address #135, I've created PR #711. This change eliminates grpc_secure_server_create() and has credentials passed instead to grpc_server_add_secure_http2_port.
As this is a problem in every language, we'll need a (hopefully) small amount of cleanup in each language.
We're not treating this as a launch blocking problem, but as this does change API this will be a customer facing change when it happens - so for any language to escape alpha this needs to be fixed - and ideally soon as it will cause some code churn for customers.
Please prepare a pull request against ctiller/grpc:credit - I'll pull the changes in there and finalize my pull request when all languages are ready.

Hey - just wanted to ping this and get an estimate as to when it'll be done.

(Recreated pull request is #835)

Fixed by https://github.com/ctiller/grpc/pull/3


Allow setting a custom logger?

Hi! I was trying out Prosopite in one of our project and looks really good so far :) congrats!
We don't use the raise option as it would be too disruptive (sadly we have a few old n+1 that will take some time to fix that we don't have) so, I thought that it would be nice to log the errors in RED so no one can say they didn't see them :rofl:
What do you think about adding that option to the config or perhaps, simplify the config to a single logger entry?
I'm currently using this patch which implements the second option: https://github.com/F-3r/prosopite/commit/4db811c4260f89f94369f94783d199a8085945bb
I can open a PR if you think it is worth it.
PS: Also, now that I've been looking into the code, I was wondering if you would be interested in some peer-code-review?

Hello! Thanks for the feedback & suggestions!
I 100% agree for the red color. It should apply only to the stderr + rails loggers.
Regarding the custom logger, i think that this functionality will be good to be available using an extra Prosopite.custom_logger.
A PR will be welcome!
If you find any other issues in the code feel free to open issues / PRs.

Ahhh I missed this last message and I've already sent the PR. Leave me any comments you want and I'll check them tomorrow!


change the type CSharpType.Arguments from T[] to IReadOnlyList<T>

Fixes https://github.com/Azure/autorest.csharp/issues/3958
Description
This PR contains the following changes:

Change the type of CSharpType.Arguments property from T[] to IReadOnlyList<T> to ensure this type is immutable.
Introduce new ctors CSharpType(Type type, IReadOnlyList<CSharpType> arguments) and CSharpType(Type type, bool isNullable, IReadOnlyList<CSharpType> arguments).
Remove ctor CSharpType(Type type, Type? serializeAs).
Refactor the parts related with union types and literal types.
Remove the TryCast method on CSharpType because we now could use the pattern matching syntax to get similar and more flexible functionality

Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

@AlexanderSher @jorgerangel-msft could you have a review on this PR?

@AlexanderSher @jorgerangel-msft could you have a review? This is ready to review now.

The changes related to union types and literals look fine to me.


Window getting unregistered from _NET_CLIENT_LIST when moved to another workspace

It seems to me that when a window is moved toward another workspace, it is temporarily unregistered from the xserver property descriptor.
Environment:

Xor- 7.6
libX11-1.6.9
berry-0.1.5 (packaged by Void Linux)

Step to reproduce and observe:

Open a terminal on, say, workspace 0 and make sure it is listed in xprop -root _NET_CLIENT_LIST

home ) xprop -root _NET_CURRENT_DESKTOP
_NET_CURRENT_DESKTOP(CARDINAL) = 0
home ) xprop -root _NET_CLIENT_LIST
_NET_CLIENT_LIST(WINDOW): window id # 0x120000e

Move it to another workspace, by running berryc send_to_workspace 5 & berryc switch_workspace 5 in it.
Observe that it has disappeared from _NET_CLIENT_LIST:

home ) xprop -root _NET_CURRENT_DESKTOP
_NET_CURRENT_DESKTOP(CARDINAL) = 5
home ) xprop -root _NET_CLIENT_LIST
_NET_CLIENT_LIST:  not found.

(Once another window is opened anywhere, both windows are listed, so the
first one is registered again)

I think this might also be related with https://github.com/polybar/polybar/issues/1922.

Thanks for the excellent write up - I was able to fix this within minutes. Should be functional as of https://github.com/JLErvin/berry/pull/78/commits/5ab590cea3bcb7282108ee837e131d514389747c

Yup it is! Thank you for such a quick fix! :smiley:


linear_damp/angular_damp produces inconsistent behavior between different physics_ticks_per_second

When using Godot Jolt, linear_damp/angular_damp produces inconsistent behavior between different physics_ticks_per_second, while with Godot Physics, behavior is still consistent.
physics_ticks_per_second 200:
https://github.com/godot-jolt/godot-jolt/assets/39361911/c5055532-cada-440d-9f36-b0d128300358
physics_ticks_per_second 60:
https://github.com/godot-jolt/godot-jolt/assets/39361911/eab8162f-4300-4b8e-bfd5-f7016e708e53
physics_ticks_per_second 30:
https://github.com/godot-jolt/godot-jolt/assets/39361911/ba2844ee-d291-4938-b4aa-b5e50172de1b
Issue can be reproduced by moving an object with, say, rigidbody.constant_force = Vector3.FORWARD * 800, then setting linear_damp to, say, 30, then switching between different physics_ticks_per_second ranging from 30 to 200.

Thank you for reporting this. That does indeed look to be a discrepancy between the two implementations, which I hadn't noticed before. I'm not seeing it quite as pronounced as what you're showing in your clips, but it's definitely there.
Given that I'm seeing the same behavior in Jolt's Samples application, @jrouwe, where a higher update frequency will seemingly result in less effective damping, should this be considered a bug upstream, or is this a known quirk with Jolt?

I'm assuming this discrepancy is at least in part explained by the fact that Godot Physics applies the damping before integrating any applied forces, as seen here, whereas Jolt seems to do it the other way around, where applied forces are integrated before damping is applied, as seen here.
This also explains why the scooter is impossible to move at 30 FPS (and a damping of 30) with Jolt, as any applied force is immediately nullified.
Now I'm curious what other engines do in this situation.

Would there be a more "correct" way to do it or is it just a matter of opinion/engine convention?

I'm honestly not sure.
Looking at the source code for PhysX seems to suggest that they do things the same way as Jolt, assuming I'm looking in the right place. Trying this out in Unity seems to support that as well.
Unreal/Chaos also behaves in the same way as Jolt and PhysX, but considering Chaos was meant to replace PhysX I'm not sure that means all that much.
Interestingly the Havok integration in Babylon.js does in fact seem to behave as Godot does, where it does not kill off the velocity completely if the damping matches or exceeds the update frequency, so I'm assuming they also apply the damping first.
The Bullet integration in Godot 3 seems to line up with Godot Physics and Havok as well.
Just swapping the order of these two operations in Jolt does in fact seem to resolve this issue entirely, but whether that has any other ill effects I can't really say.

Damping uses a pretty coarse first order approximation (the same one as PhysX uses):
https://github.com/jrouwe/JoltPhysics/blob/5c9d3b011ab76cdaa05c9e1b1e699f716bd1ddc4/Jolt/Physics/Body/MotionProperties.inl#L132-L135
This means that if damping * dt is not close to zero then the approximation will become worse and the result will be very frame rate dependent. A damping of 30 is way too high for this approximation to work.
I'd prefer to not make the damping calculations more expensive for everyone and would suggest to pass a damping of 0 to godot-jolt and apply your own damping logic every frame. Basically if you use velocity *= exp(-damping * dt) at every step then it should be accurate and frame rate independent.

I'd prefer to not make the damping calculations more expensive for everyone and would suggest to pass a damping of 0 to godot-jolt and apply your own damping logic every frame. Basically if you use velocity *= exp(-damping * dt) at every step then it should be accurate and frame rate independent.

Applying custom damping on the script side of things (or even in Godot Jolt itself) would presumably end up replicating the same order of operations as what Godot Physics does (i.e. damping before force integration), which uses the same cheap approximation as Jolt and PhysX, meaning this discrepancy of big swings from varying update frequency would go away pretty much entirely.
I'm not sure how one would go about emulating Jolt's own application of damping, seeing as how you're doing it after force integration but before any constraint solving (if I'm understanding your job graph correctly) which I'm assuming manipulates the velocity further. If I were to do this within Godot Jolt I would presumably have to stop using AddForce/AddTorque and integrate those myself (before applying the damping) in order to end up with the same order of operations?
But again, everything seems to work fine (at least in terms of any update frequency swings) if you apply the damping before doing the force integration, even with the same cheap approximation that Jolt uses.
Is there anything inherently wrong with that particular order?

I just checked and there's a line in the documentation that implies frame rate dependence:
"A value equal to or greater than the physics frame rate will bring the object to a stop in one iteration"
But it was definitely frame rate independent when I tested Godot Physics, the behavior was consistent even with extreme differences in tick rates. So it may be a "bug" on the Godot side - I'll try to create a documentation bug report when I have the time to get confirmation what the "intended" behavior is for Godot as an engine.

I just checked and there's a line in the documentation that implies frame rate dependence:
"A value equal to or greater than the physics frame rate will bring the object to a stop in one iteration"

Yes, I saw that as well, but I'm not entirely sure how to interpret it in this context, since you're continuously applying a force to the body. As soon as you stop applying the force you should see that the body comes to a complete stop at the next iteration with Godot Physics, so that statement still holds true to some degree.

If I were to do this within Godot Jolt I would presumably have to stop using AddForce/AddTorque and integrate those myself (before applying the damping) in order to end up with the same order of operations?

I was not suggesting to do this in godot-jolt but rather in the particular application that @Jamsers is building and only for the objects that are being picked up as part of the 'pick up logic' that would have to run every frame anyway. I doubt that the order of operations matters much in that case, you just want to stop the picked up objects from rotating. Note that picking up could also be achieved by using a Generic6DOFJoint3D that has no degrees of freedom where one side is attached to the object to be picked up and the other side to a kinematic object that you move around depending on mouse input.
As for swapping the order of operations: Both solutions look valid to me and apparently different physics engines have chosen different orders. I'm a bit reluctant to swap it around since I don't know if anyone depends on the current behavior.

I was not suggesting to do this in godot-jolt but rather in the particular application that @Jamsers is building.

Yes, I was trying to say that the more expensive velocity *= exp(-damping * dt) isn't necessary if @Jamsers were to go that route, since you end up with the same order of operations as with Godot Physics if you do it from the script side of things, which seems to resolve the problem somehow anyway.

As for swapping the order of operations: Both solutions look valid to me and apparently different physics engines have chosen different orders. I'm a bit reluctant to swap it around since I don't know if anyone depends on the current behavior.

I would be hesitant about that change as well. I'll just go ahead and apply it from my side, to line up better with Godot Physics. It's not a huge/expensive ordeal.

@Jamsers If you need a workaround until I can get another release out, applying this script on any RigidBody3D you want to use high damping values on should do the trick:
extends RigidBody3D

func _init():
    custom_integrator = true

func _integrate_forces(state: PhysicsDirectBodyState3D) -> void:
    state.linear_velocity *= maxf(0.0, 1.0 - state.total_linear_damp * state.step)
    state.angular_velocity *= maxf(0.0, 1.0 - state.total_angular_damp * state.step)
    state.linear_velocity += state.total_gravity * state.step

with the approach I'm doing I don't have access to _integrate_forces

If that happens to be because you're messing with bodies that you can't (or don't want to) set/change the script for, you can also technically use PhysicsServer3D.body_set_force_integration_callback to set your own _integrate_forces-like callback on any arbitrary RigidBody3D reference, like so:
func _my_custom_integration(state: PhysicsDirectBodyState3D, body: RigidBody3D) -> void:
    state.linear_velocity *= maxf(0.0, 1.0 - state.total_linear_damp * state.step)
    state.angular_velocity *= maxf(0.0, 1.0 - state.total_angular_damp * state.step)
    state.linear_velocity += state.total_gravity * state.step

func _grab(some_body: RigidBody3D):
    some_body.custom_integrator = true
    PhysicsServer3D.body_set_force_integration_callback(some_body, _my_custom_integration, some_body)

func _release(some_body: RigidBody3D):
    PhysicsServer3D.body_set_force_integration_callback(some_body, Callable())
    some_body.custom_integrator = false

It's not really meant to be used for this purpose, but I believe it should work. Note however that unlike the normal _integrate_forces the body won't have synchronized its state with the physics engine by the time that particular callback fires, so make sure to only read/write such state through PhysicsDirectBodyState3D.


[QUESTION]How Do I resolve “Illuminate\Queue\InvalidPayloadException: Unable to JSON encode payload. Error code: 5”

Prerequisites

[X] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[X] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[X] Checked that your question isn't already asked before.
[X] Filled in the entire issue template

Versions

PHP version: 7.3.7
Laravel version: 7.25.0
Package version: 3.1

Description
Trying out the queue system for a better user upload experience with Laravel-Excel.
.env was been changed from 'sync' to 'database' and migrations run. All the necessary use statements are in place yet the error above persists.
The exact error happens here:
Illuminate\Queue\Queue.php:97
        $payload = json_encode($this->createPayloadArray($job, $queue, $data));
                if (JSON_ERROR_NONE !== json_last_error()) {
                            throw new InvalidPayloadException(

Trying out the queue system for a better user upload experience with Laravel-Excel.
.env was been changed from 'sync' to 'database' and migrations run. All the necessary use statements are in place yet the error above persists.
The exact error happens here:
Illuminate\Queue\Queue.php:97
$payload = json_encode($this->createPayloadArray($job, $queue, $data));
if (JSON_ERROR_NONE !== json_last_error()) {
throw new InvalidPayloadException(
If I drop ShouldQueue, the file imports perfectly in-session (large file so long wait period for user.)
I've read many stackoverflow, github etc comments on this but I don't have the technical skills to deep-dive to fix my particular situation (most of them speak of UTF-8 but I don't if that's an issue here; I changed the excel save format to UTF-8 but it didn't fix it.)
Additional Information
I var_dumped and noticed $data is empty, $queue is a string with value "default" and $job is a huge object representing the chunked excel import. Searches indicate fiddling with utf8_encode, mb_convert_encoding and iconv but that would involve changing the framework code (and not clear how it won't mess things up, e.g. in the decoding process.

Try looking in your payload (dd() / xdebug) and see what it's trying to serialize. By default our jobs serialize just fine, so it's most likely something on your side. I'm unable to debug it for you.


Bracket]0, pi]

]0, pi].
I have seen this type of bracket in task 1. I think this is open interval. The reason why open interval notation is not written as (0, pi) is because this notation would be ambiguous. The parentheses could be interpreted as either open interval notation or as a function call. To avoid this ambiguity, the notation ]0, pi] is used to explicitly indicate that the interval is open.
I am not sure but correct me guys if I am wrong

Yeah i agree.

]: The right square bracket ] indicates that the right endpoint is included in the interval.
0: This is the lower limit of the interval.
, (comma): The comma separates the lower and upper limits of the interval.
π * GroupNumber: This expression represents the upper limit of the interval. It is the product of the mathematical constant π (pi) and a variable or constant named GroupNumber.
]: The closing square bracket ] indicates that the upper limit is included in the interval.
Putting it together, ]0, π * GroupNumber] represents a right-open interval from 0 to π * GroupNumber. It includes all real numbers greater than 0 and less than or equal to π * GroupNumber. The lower bound is closed (included), and the upper bound is open (excluded).
For example, if GroupNumber is 2, the interval becomes ]0, 2π], including 0 but excluding 2π. If GroupNumber is 3, the interval becomes ]0, 3π], and so on.
I found this.


Improve the community page by giving thanks

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


Remove unnecessary prev field

coverage: 90.625% (-0.4%) from 91.045%
when pulling 8a9058c9a473d7689de3e3b257f06023ae3e3911 on hongkuancn:prev-field
into 81b84fc28c090080b84bb4fe5733c26f36be1ccd on onatm:main.


TP number convention backwards compatibility

While #392 is completed but #435 is not finished we are extracting the patient number from actual tp number (<TRIAL_ID>-<SITE_ID>-<PATIENT_ID>) in order to keep backwards compatibility.
Temporary these changes are marked in code and when #435 will be finished, them will be removed.

search for TODO #436


LabelWrapper styling needs to updated on @decent-org/fractal-ui

Input error text doesn't match design. See: https://github.com/decentdao/fractal-interface/issues/1600

Oh, you can just transfer an issue between repos! Didn't know that. Nice job @github

@mudrila Nice fine.
I'll link this comment https://github.com/decentdao/decent-interface/pull/1940#discussion_r1618785604 here to take a look at the typing for this component


Update new_bls12_hash_function.md

Project Abstract
Recently, my article https://link.springer.com/article/10.1007/s10623-022-01012-8 was published in the quite prestigious cryptographic journal "Designs, Codes and Cryptography". This article provides a new hash function (indifferentiable from a random oracle) to the subgroup G1 of many elliptic curves of j-invariant 0, including most pairing-friendly curves of the family BLS12 (Barreto-Lynn-Scott) of embedding degree 12. Such curves and hash functions are actively used in blockchains, namely in the BLS (Boneh-Lynn-Shacham) aggregate signature. According to the web page https://wiki.polkadot.network/docs/learn-keys, the BLS signature will be in particular used in Polkadot.
My hash function is much faster than previous state-of-the-art ones, including the Wahby-Boneh indirect map to the curve BLS12-381. This curve is a de facto standard in today's real-world pairing-based cryptography. The indifferentiable Wahby-Boneh hash function requires to extract two square roots (i.e., to compute two exponentiations) in the basic field Fp. In comparison, the new hash function extracts only one cubic root, which can be also expressed via one exponentiation in Fp. And according to Section 1.1 of my other article https://eprint.iacr.org/2021/1082 the exponentiations for square and cubic roots in Fp have short addition chains of about the same length.
I have already checked the correctness of my results in the computer algebra system Magma. The new project is dedicated to an implementation of the new hash function to BLS12-381 in Rust. This project is a follow-up of the previous one concerning a proof-of-concept implementation in Sage (see https://github.com/w3f/Grants-Program/pull/825). I wrote such an implementation, but I didn't finish the project, because my code does not meet high standards of Web3 Foundation. However, I found a professional developer in Rust who is ready to provide a Rust implementation (based on my Sage one), including tests and a documentation. Consequently, besides my initial $10,000 reward (level 1), an additional reward for my colleague's work is required.
For which grant level are you applying?

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $50,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[x] I have read and understood the FAQs, application guidelines and announcement guidelines.
[ ] A BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) address for the payment of the milestones is provided inside the application.
[x] I have read and acknowledge the terms and conditions.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted.
[ ] I prefer the discussion of this application to be in a private Element/Matrix channel. My username is: @_______

How Did You Hear About our grants program?

[ ] Social Media
[ ] Hackathon
[ ] Personal Recommendation
[ ] Substrate Builders Program
[ ] Investor/VC
[x] Online Search
[ ] Other: _______

Hi again @dishport, thanks for the amendment.

Consequently, besides my initial $10,000 reward (level 1), an additional reward for my colleague's work is required.

In that case, I think instead of replacing your current Sage implementation in the deliverables, it would make more sense to leave it and add the Rust version in addition to it. @burdges and @drskalman will also take a look at this PR, if they agree maybe we could accept it in the current state with the Rust implementation having full test coverage and any other requirements the Sage one doesn't fulfill.

In that case, I think instead of replacing your current Sage implementation in the deliverables, it would make more sense to leave it and add the Rust version in addition to it. @burdges and @drskalman will also take a look at this PR, if they agree maybe we could accept it in the current state with the Rust implementation having full test coverage and any other requirements the Sage one doesn't fulfill.

@alxs, I cannot change my W3F Grant Proposal. It says that "You must be on a branch to make or propose changes to this file". Please help me.

@dishport you should be able to update it here https://github.com/dishport/Grants-Program/blob/patch-1/applications/new_bls12_hash_function.md

@dishport you should be able to update it here https://github.com/dishport/Grants-Program/blob/patch-1/applications/new_bls12_hash_function.md

@alxs, thanks! I updated the project. I divided it into 3 milestones, including a constant-time implementation in Rust.

@dishport thanks! I personally don't see the need for a constant-time implementation as long as we don't have an application for it in mind, but I'll follow @burdges and @drskalman's lead if they do.

@alxs, Will it be sufficient ? I see "At least 5 approving reviews are required by reviewers with write access".

@dishport only approvals by members of the committee count. We're currently waiting for an opinion from the aforementioned two members of our research team.
For this grant level, only 3 approvals are required - please disregard Github's merge requirements.

I'm on vacation right now, but yeah I'd go with whatever @drskalman says here.  I'll make further comments in matrix.

It appears they were not interested in replacing any hash-to-curves in the current IRTF RFC then?  Alright, thanks for proding them.
We should "glue together" your comments in https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/issues/316 into an email to the IRTF CFRG list https://irtf.org/cfrg so that more people know about your work.  I think this is all we need to do on publicity.
I think @drskalman still needs to review in code documentation and tests, but then that's it afaik.

Plus adding a note about modularity of Sage implementation and its generalizabiliy to other curves.

@drskalman, what does it mean ?
Thank you in advance for your clarification.
Meanwhile, you can see a non-constant-time implementation in Rust of my colleague. The new hash function is actually faster than SWU one. He is not able to compare with Wahby-Boneh hash, because the latter is not yet implemented in arksorks. He used as a base this library.

We should "glue together" your comments in cfrg/draft-irtf-cfrg-hash-to-curve#316 into an email to the IRTF CFRG list https://irtf.org/cfrg so that more people know about your work. I think this is all we need to do on publicity.

@burdges, you write "we". Could you help me to prepare a good email to the IRTF CFRG list ? I guess, your opinion will be much more authoritative for people.

Thanks for the updates @dishport, looks good. Just to make sure, since there are no changes to the Sage delivery: are you ok with addressing @drskalman's remaining feedback on your current delivery?

Just to make sure, since there are no changes to the Sage delivery: are you ok with addressing @drskalman's remaining feedback on your current delivery?

@alxs, in comparison with the delivery, I commented on the Sage implementation in detail. Besides, I added to the project description (the section about future plans) a note about modularity of Sage implementation and its generalizability to other curves, as @drskalman asked. I stress in the project that it is primarily dedicated to the curve BLS12-381. So I'm required to implement the hash function only to this curve. Although my code is actually relevant when q = 10 (mod 27) and b is not a cubic residue in Fq, where Fq is a finite field and a curve has the form y^2 = x^3 + b.

yes sure, the IRTF CFRG list mail could be roughly what you wrote above I think.  It just need to give some idea why you think this has advantages over what exists, and link to the repositories.

Dear IRTF CFRG committee,
My name is Dimitri Koshelev. I am a postdoctoral researcher in one of Paris universities. My research is dedicated to (mathematical methods of) elliptic cryptography.
Recently, my article was published in the quite famous cryptographic journal "Designs, Codes and Cryptography". This article provides a new hash function H (indifferentiable from a random oracle) to many elliptic curves y^2 = x^3 + b (of j-invariant 0), including most pairing-friendly curves of the family BLS12 (Barreto-Lynn-Scott) of embedding degree 12. Such curves and hash functions are actively used in numerous protocols such as the BLS (Boneh-Lynn-Shacham) aggregate signature.
My hash function H is much faster than previous state-of-the-art ones, including the Wahby-Boneh indirect map to the curve BLS12-381. As is known, this curve is a de facto standard in today's real-world pairing-based cryptography. The indifferentiable Wahby-Boneh hash function requires to extract two square roots (i.e., to compute two exponentiations) in the basic field Fp. In comparison, H extracts only one cubic root, which can be also expressed via one exponentiation in Fp. And according to Section 1.1 of my other article the exponentiations for square and cubic roots in Fp have short addition chains of about the same length.
You can see a low-level implementation in Rust of my colleague. The new hash is actually more efficient than the universal SW (Shallue-van de Woestijne) hash. The colleague is not able to compare with the Wahby-Boneh hash, because the latter is not yet implemented in arkworks. He used this library as a base. At the same time, H appears to be unimprovable, because it is highly unlikely that there is a hash function to an elliptic curve without exponentiations at all (even if it is supersingular).
As you know, there is the regularly updated CFRG draft on hashing to elliptic curves. I would be very grateful to you, if you could express your opinion. Does the new hash function deserve to be included in the draft ?
Best regards,
Dimitri.

yes sure, send me/us a quick draft and I make comments, or even post it here. The IRTF CFRG list mail could be roughly what you wrote above I think. It just need to give some idea why you think this has advantages over what exists, and link to the repositories.

@burdges, please give remarks on my email above.

Besides, I added to the project description (the section about future plans) a note about modularity of Sage implementation

Then, doesn't it makes more sense to move the sage implementation to a future grant?

I stress in the project that it is primarily dedicated to the curve BLS12-381. So I'm required to implement the hash function only to this curve.

My understanding is that the Sage code was intended for research purposes (and not for production), and the code in its current condition serves that cause very little if any.
My suggestion would be to remove the Sage code delivery and its cost from the first deliverable and postpone its delivery to a future grant application when it is possible to produce a reusable code.

@dishport thanks for clarifying this. In that case, if I understood correctly you will continue working on the Sage implementation and get back to @drskalman on the delivery when it is ready for review?

@dishport thanks for clarifying this. In that case, if I understood correctly you will continue working on the Sage implementation and get back to @drskalman on the delivery when it is ready for review?

@alxs, I have just written a general implementation in Sage:
https://github.com/dishport/Indifferentiable-hashing-to-ordinary-elliptic-curves-of-j-0-with-the-cost-of-one-exponentiation/blob/main/Indifferentiable hashing with the cost of one exponentiation.sage
@drskalman, could you verify it ? Or do I have to make a delivery first?

@dishport thanks for clarifying. For our records, we'd prefer to have it as a delivery. But you can just update your current one https://github.com/w3f/Grant-Milestone-Delivery/pull/376
I'll approve the amendment and share it with the rest of the team.

@dishport thanks for clarifying. For our records, we'd prefer to have it as a delivery. But you can just update your current one w3f/Grant-Milestone-Delivery#376

@alxs, I updated the delivery. But I am not sure that it is located in the correct place of GitHub:
https://github.com/dishport/Grant-Milestone-Delivery/blob/57ea1a17bde45cc6dc08c2e610f348b9f43c5419/deliveries/new_bls12_hash_function-milestone_1.md

Thanks @dishport, yes you can see the file in your delivery PR has been updated https://github.com/w3f/Grant-Milestone-Delivery/pull/376/files


added dotflatten tag

Hello, I added functionality to create field names separated by dots in next format "StructName.FieldName". I need this functionality to create meaningful names for InfluxDB keys from big Structures with Substructures.
I'm not sure with the tag name, I called it  "dotflatten" maybe you have better idea how to call it.
Example:
	type Person struct {
		Name   string
		Number int
	}

	type Access struct {
		Person        Person `structs:",dotflatten"`
		HasPermission bool
		LastAccessed  time.Time
	}

	s := &Access{
		Person:        Person{Name: "fatih", Number: 1234567},
		LastAccessed:  time.Now(),
		HasPermission: true,
	}

	fmt.Println(structs.Map(s))
	// output map[Person.Name:fatih Person.Number:1234567 HasPermission:true LastAccessed:2016-08-10 23:56:46.473789853 +0300 EEST]

Coverage remained the same at 100.0% when pulling 4b711be6d63a96a41c97fced047b685d5ca46393 on Trane9991:master into dc3312cb1a4513a366c4c9e622ad55c32df12ed3 on fatih:master.

Hi @Trane9991,
This is a fairly complex feature. I don't want to merge and maintain it. You can manually change the keys yourself. Thanks.


SECURITY: Docker versions 1.8.1 and 1.8.2 does not send authentication header while pushing

When following the documentation in https://docs.docker.com/registry/nginx/, the user will end up getting a 401 response when trying to push images using 1.8.1 or 1.8.2 versions of the client. This has been verified with both Linux and OS X with docker-machine, not that it matters. When peeking into the nginx logs, the flaw is evident:
<IP_ADDRESS> - ferrix [02/Oct/2015:15:30:44 +0000] "POST /v2/flower/blobs/uploads/ HTTP/1.1" 202 0 "-" "docker/1.8.2 go/go1.4.2 git-commit/0a8c2e3 kernel/4.0.9-boot2docker os/linux arch/amd64" "<IP_ADDRESS>"
<IP_ADDRESS> - - [02/Oct/2015:15:30:45 +0000] "PATCH /v2/flower/blobs/uploads/c23b91f6-0487-4513-9ba4-09a673660b8e?_state=kcAPSJKxisE_MvKyWcu4Jy1TdQOaBoZlydWvGMDlcLV7Ik5hbWUiOiJzaWdydW4tZnJvbnQiLCJVVUlEIjoiYzIzYjkxZjYtMDQ4Ny00NTEzLTliYTQtMDlhNjczNjYwYjhlIiwiT2Zmc2V0IjowLCJTdGFydGVkQXQiOiIyMDE1LTEwLTAyVDE1OjMwOjQ0LjU1ODg2NzA5OFoifQ%3D%3D HTTP/1.1" 202 0 "-" "docker/1.8.2 go/go1.4.2 git-commit/0a8c2e3 kernel/4.0.9-boot2docker os/linux arch/amd64" "<IP_ADDRESS>"
<IP_ADDRESS> - - [02/Oct/2015:15:30:45 +0000] "PUT /v2/flower/blobs/uploads/c23b91f6-0487-4513-9ba4-09a673660b8e?_state=XzUfHs_m1Vkk3q8mGTctoxH0K7hgKr56nzz8wG8KYCp7Ik5hbWUiOiJzaWdydW4tZnJvbnQiLCJVVUlEIjoiYzIzYjkxZjYtMDQ4Ny00NTEzLTliYTQtMDlhNjczNjYwYjhlIiwiT2Zmc2V0IjozMiwiU3RhcnRlZEF0IjoiMjAxNS0xMC0wMlQxNTozMDo0NFoifQ%3D%3D&digest=sha256%3Aa3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 HTTP/1.1" 401 194 "-" "docker/1.8.2 go/go1.4.2 git-commit/0a8c2e3 kernel/4.0.9-boot2docker os/linux arch/amd64" "<IP_ADDRESS>"

The third column in nginx logs is the authenticated user and the latter two lines have no such thing. This snippet from my logs is from a phase where I worked around PATCH requests being bounced and allowed them explicitly without authentication.
To try this out, modify the basic authentication lines in the example nginx configuration as follows:
limit_except PUT PATCH {
  auth_basic "INSECURE DOCKER";
  auth_basic_user_file /etc/nginx/conf.d/htpasswd;
}

After this, pushing will start working again. This renders the server very vulnerable, for anything else that may be done without authorization through PUT and PATCH methods. According to spec, manifests don't even have POST method, so manifests will become writable to anyone. It is worth it to check whether or not that endpoint is equally broken.
Most likely the registry is broken as well
Since this flaw has not been noticed without nginx, it is likely that the registry server does not expect authentication either for PUT and PATCH requests for blobs.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Ping @cpuguy83

I am thinking #16677 is another user reproducing the same problem.

ping @ferrix
Can you provide your entire nginx config, and confirm you followed https://github.com/docker/distribution/blob/master/docs/nginx.md step by step without modification and were able to push succesfully?
Remember that you need to docker login. There is no reason to disable authentication for any method.

The exception there was only to prove the result and show that client does
not provide credentials. You should have a look at your logs to see the
credentials are there for all requests.
My configuration is exactly like the documents say. This configuration
worked until 1.8 client and revert to 1.7 resolved this.
2.10.2015 8.03 ip. "Olivier Gambier"<EMAIL_ADDRESS>kirjoitti:

ping @ferrix https://github.com/ferrix
Can you provide your entire nginx config, and confirm you followed
https://github.com/docker/distribution/blob/master/docs/nginx.md step by
step without modification and were able to push succesfully?
Remember that you need to docker login. There is no reason to disable
authentication for any method.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/16728#issuecomment-145086728.

@ferrix I ran the doc step by step with docker 1.8.2 with no issue.
Can you confirm you did explicitly docker login myregistry:port and that you tested exactly what's in the doc?
If so, please copy your complete configuration plus the docker daemon logs showing both the login and the failed push.
Thanks.

I think it may have been a problem with the scheme and 1.8.3 upgrade.


how to run  cmd example qclient/qserver on two hosts

I have two hosts that are connected and can successfully ping each other. How can I execute the qclient command on one host as a client and the qserver command on the other host as a server to establish a MOQ connection between them?
I hve tried ./qserver -b XXX.XXX.XXX.XXX on one host as server, and I tried ./qclient --sub_namespace chat --sub_name general --pub_namespace chat --pub_name general -r moq://XXX.XXX.XXX.XXX:1234 on the other host, XXX.XXX.XXX.XXX is the address of the host as server,however it doesn't work.
May I ask if you can be successful if you operate in this way?

something wrong happened on my server, can't call function picoquic_packet_loop_open_socket normally, already resolved


add getVariables method or similar

the idea is a person should be able to say they want variable X from collection Y and variable Z from the metadata, etc and get a data.table w those variables and any relevant entity IDs. this would help people build the 'pass' app vizs from the site, for ex.

min req

note should have its own vignette


Add user action resource

Resolves #40

@sjauld Thank you for working on this. I have one comment in the update but this is great!


Action mission

wake up geff, so i created the action and mission class and I would like your approval to add it to the main please and thank you!!

Can you please pull and checkout onto the "revert-9-action-mission" branch and fix the type for unit (in mission). Instead of an int, unit should be a "Unit" instance. I merged before seeing this error, so if you can fix it on the "revert-9-action-mission" branch and submit a new pull request, that would be great!


Feedback January 31st -  Build Deployed live at https://daocreator-v2.herokuapp.com/

Please write down all feedback that you can come for https://daocreator-v2.herokuapp.com/
Thanks :)

I don't like having to log into Metamask when the dApp opens. I feel it should happen when it's first needed. For example, when the users gets to the Members step, have a button for "Connect Wallet", and then once a wallet is connected change that button to "Add Self" or something like that which populates the member field with your address.
Step 1's overview doesn't show the DAO symbol, and only shows the DAO's name. Also should the overview entries have a field label? Currently it only shows the value the user input.
In step 3, when you click the "edit" icon, it should switch to a check mark to let the user know that if they press it again their changes will be set.
In step 3, if you click edit on an address, then click delete, when you add an address again it's still in an edit mode. The edit mode should be reset.
In step 3, when you click the "edit" icon, there's no way to exit the edit mode and persist your old values. For example, if I click edit then set my REP to 12, and I want to discard these changes, there's no way to do so. Maybe change the delete icon in the edit mode to a cancel icon that takes you out of edit mode and sets back the old value.
In step 3, when you click "edit", the layout of all member's REP columns changes. You'd expect the layout to stay the same and just have the text field take up the same space that it did before.
In step 3, if you enable "Distribute tokens", set some token amount, then disable "Distribute tokens", we should ensure the final output has all tokens set to zero. Currently these amounts are kept in the state.
Switching networks causes the app to reset because metamask reloads the page. This causes all progress to be lost! We should store the DAOs state in localstorage when the page exits (see V1 UI for an example of this). We should then ask the user when the app restarts "Do you want to continue from where you left off?" and give them an overview of what their DAO looks like. See V1 to see this in action.
In step 2, when you click on "Advanced Configuration", Contribution Reward and Scheme Registrar are disabled? Why is this, since they're apart of the default configuration of the DAO.
If the user disables the Scheme Registrar, we should have a warning letting them know that their DAO will not be able to modify and upgrade itself in the future. This warning should be in the Advanced Configuration view, and also in the final deployment view as this is a major thing users should be aware of.
When the user begins installation / deployment, all "edit" icons for previous steps should be disabled.
Advanced configuration values are not persisted. I went in and edited the configuration of my Contribution Reward scheme to have 26 days instead of 30 days, and it was not reflected in my deployment.
After deployment finishes, we should (1) have an option for users to copy their DAO addresses (see V1 for an example of this), and we should (2) let the user know that they must copy the alchemy URL for their DAO and save it somewhere because it won't be discoverable in Alchemy. If they loose their Avatar address they will not be able to visit their DAO again (unless they sift for it in their transaction history).
When the user exits the app during deployment, they should be given a popup warning letting them know that all progress will be lost.
In the deployment step, we should warn users that if they use "speed up transaction" feature in metamask and other wallets, that deployment will be broken (see V1 for an example of this).

We should add a DAOstack logo somewhere in the U.I., the user should know that they are using DAOstack

Advanced view is totally misaligned

Proposing Rep Reward is missing from Advanced

All three toggles in step 2 should default to ON.

Is the Configure step 2 functional at all??? Clicking "Slow", "Medium" and "Fast" does not change any values when I click advanced to check. Neither does anything change in advanced when I press the toggles.

Here is what the values should be for each:

SPEED
Queued (Funding & Voting Power)
Pre-Boosted (Funding & Voting Power)
Boosted (Funding & Voting Power)
Quiet Ending (Funding & Voting Power)
Queued (Plugin Manager)
Pre-Boosted (Plugin Manager)
Boosted (Plugin Manager)
Quiet Ending (Plugin Manager)

Slow
30 days
1 day 12 hrs
3 days
2 days
60 days
3 days
6 days
4 days

Medium
7 days
12 hrs
1 day
16 hrs
30 days
1 day 12 hrs
3 days
2 days

Fast
7 days
12 hrs
1 day
16 hrs
7 days
12 hrs
1 day
16 hrs

If Reward successful proposers is off, set Proposing Rep Reward to 0
If Reward correct voters and penalize incorrect voters is off, set Voter Reputation Loss to 0
If Auto-incentivize proposal curation is off, set Minimum DAO Bounty & DAO Bounty Const to 0
@dOrgJelli please double check me on these values

I have created issues for the above comments.

Everything that isn't related to the advanced config on step 2 and the state loading has been handled.
Cesar is working on the former and I'm going to take the latter tomorrow.


Added files of Billboards Signs and Branding Classification

Pull Request for DL-Simplified 💡
Issue Title :

Info about the related issue (Aim of the project) :
Name: Abhinav kumar
GitHub ID: Abhinavcode13
Email ID<EMAIL_ADDRESS>Idenitfy yourself: (Mention in which program you are contributing in. Eg. For a JWOC 2022 participant it's, JWOC Participant)  SSoC 2.0 contributor

Closes: #222
Describe the add-ons or changes you've made 📃
Added 3 files
->Images
->model - notebook file
->dataset (kaggle link)
Type of change ☑
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested? ⚙
Used different python libraries like numpy , pandas  , tensorflow for data cleaning.
used keras layers -Layers are the basic building blocks of neural networks in Keras. A layer consists of a tensor-in tensor-out computation function (the layer's call method) and some state, held in TensorFlow variables (the layer's weights).
sklearn.model_selection
sklearn.preprocessing
also used these
Checklist: ☑

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added things that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

@Abhinavcode13 any update on this pull request?


Sparse pointwise division

This is a very important feature as right now there is no way to perform point wise division of vectors, dense or sparse matrices with other sparse matrices. As a workaround, we have been multiplying by the reciprocal, but this is not immediately obvious to most users and adds complexity.
Pointwise multiplication was recently added to sparse matrices. It shouldn't be too hard to repurpose the multiplication to a division operation.
Tagging @anaruse

The point-wise multiply implementation is not easy to reuse for point-wise divisions because it is highly optimized using the "0 * a = a * 0 = 0". Therefore, the point-wise division implementation above employs the naive method of converting the sparse matrix to dense matrix before performing the point-wise division, like SciPy. This implementation may use more memory, but we have confirmed that the results are compatible with SciPy.


Versioned URL variants

Proposal
This PR proposes to improve the discoverability and maintenance of latest, major and minor versioned URLs for downloads and documentation components via the Ansible release playbook rather than Apache redirects at the moment.
Changes
This changeset primarily affects the release-acceptance.yml playbooks:

refactor the release folder checks and fail the playbook if either variables are undefined or release folders are missing
add tasks creating symlinks x.y, x and latest linking the to specified x.y.z version for both documentation and downloads unless the version is a pre-release one e.g. 5.5.0-rc1 e.g.

Testing
Molecule tests have been added to cover the various tasks achieved by the playbook i.e. .htaccess removal, chowning/chmoding and symlink creation both in the case of pre-releases as well as full release.
To simplify the functional review, temporary folders were also created using the last OMERO documentation and downloads  under a temporary URL. The playbook was run as ansible-playbook -K release/release-acceptance.yml -e product=omero-test -e version=5.5.0. The temporary https://downloads.openmicroscopy.org/omero-test/ and https://docs.openmicroscopy.org/omero-test/ URLs can be reviewed and should contain all versions of the URLs.
Follow-up tasks
If we agree on using this new scheme, two follow-up of this change might be:

modify the playbook to allow documentation-only release i.e. allow to pass a release type e.g. release-acceptance playbook for a given type of component  e.g. ansible-playbook -K release/release-acceptance.yml -e product=omero-test -e version=5.5.1 -e release_type=docs
update the latest/<product>{x,x.y} URLs maintained via Web server to point at the new <product>/{latest,x,x.y} URL and reduce our maintenance

@manics pushed.


Several Overview pages in table of contents have broken URLs

In the table of contents, several of the URLs are broken. For example:

Build/Artifacts/Overview
Build/Attachments/Overview
Build/Builds/Overview
Build/Timeline/Overview

While Build/Overview works, I'm guessing all the overview of the 2nd level APIs are broken, but I'm not going to check each one individually.

This issue has been fixed
https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts?view=azure-devops-rest-7.1
https://learn.microsoft.com/en-us/rest/api/azure/devops/build/attachments?view=azure-devops-rest-7.1
https://learn.microsoft.com/en-us/rest/api/azure/devops/build/builds?view=azure-devops-rest-7.1
https://learn.microsoft.com/en-us/rest/api/azure/devops/build/timeline?view=azure-devops-rest-7.1


prevent feedback-loops with Sentry

based on BugSnag appender code

@gingerlime thank you for the PR. It is now available in v4.1.1.

Glad to contribute when I can :) Thanks for merging and releasing it, @reidmorrison (and in general for being so responsive and supportive).


Support for truffle v5 - use contract at specific address

The generated types don't have function for use contract at a specific address:
https://www.trufflesuite.com/docs/truffle/getting-started/interacting-with-your-contracts#use-a-contract-at-a-specific-address.
import BN from 'bn.js'
import { ERC20TokenContract } from '../src/types/ERC20Token'

const ERC20Token: ERC20TokenContract = artifacts.require('ERC20Token')

contract('ERC20Token', (accounts: string[]) => {
  it('test', async () => {
    let token = await ERC20Token.new('tst', 'test', new BN(18))
    await token.supply(accounts[0], accounts[1], new BN(10).pow(new BN(18)))
    console.log(await token.totalSupply())
    // typechain does not support this
    // let token2  = await ERC20Token.at(token.address);
  })
})

@ducquangkstn would you like to prepare & test a PR? We're more versed in using ethers here :)
This is the relevant file, it should be a simple matter of adding a static method declaration. You could even add some of the other contract static methods.

Well after debugging, I found 2 namespace with the same name Truffle in file types.d.ts and index.d.ts
And the file Greeter.d.ts is using the namespace from index.d.ts
export interface GreeterContract extends Truffle.Contract<GreeterInstance> {
}

a way to fix this is including /// <reference path="./types.d.ts" /> at the start of the generated file Greeter.d.ts.
But I not sure about this approach

P/s: I using truffle by hardhat and typechain

After a while, I figure out I must include typechain outDir in tsconfig.json
I add a PR to help others with the same issue
https://github.com/ethereum-ts/TypeChain/pull/352


Ticket models are not created

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the issue
Company, Deal, Email, Engagement, and Owner staging tables are created fine but the Ticket tables are missing. Do they have to be enabled specifically?
Relevant error log or model output
No response
Expected behavior
Stg views defined in dbt_project.yml are available:
    ticket_company: "{{ source('hubspot','ticket_company') }}"
    ticket_contact: "{{ source('hubspot','ticket_contact') }}"
    ticket_deal: "{{ source('hubspot','ticket_deal') }}"
    ticket_engagement: "{{ source('hubspot','ticket_engagement') }}"
    ticket_pipeline: "{{ source('hubspot','ticket_pipeline') }}"
    ticket_pipeline_stage: "{{ source('hubspot','ticket_pipeline_stage') }}"
    ticket_property_history: "{{ source('hubspot','ticket_property_history') }}"
    ticket: "{{ source('hubspot','ticket') }}"

dbt Project configurations
vars:
hubspot_source:
hubspot_database: FIVETRAN
hubspot_schema: hubspot
hubspot_email_event_print_enabled: false
hubspot_email_event_forward_enabled: false
hubspot_contact_merge_audit_enabled: true
hubspot__pass_through_all_columns: true
Package versions
packages:

package: dbt-labs/audit_helper
version: 0.5.0
package: fivetran/hubspot
version: [">=0.5.0", "<0.6.0"]

What database are you using dbt with?
snowflake
dbt Version
1.2
Additional Context
No response
Are you willing to open a PR to help address this issue?

[ ] Yes.
[X] Yes, but I will need assistance and will schedule time during our office hours for guidance
[ ] No.

Hi @moseleyi thanks so much for opening this issue!
Luckily there is a quick fix for you to get the ticket models created in your next run. You can simple set the hubspot_service_enabled variable to be true (it is false by default).
vars:
   hubspot_service_enabled: true

While this is a quick fix, we did not do a good job documenting in the README that this variable is used for the ticket models. I noticed you are open to creating a PR! This would be a great documentation update PR if you are willing to tackle it. I would recommend we simply adjust our wording in the Disable Models section to explicitly state that this variable is used for the ticket models. Similarly, we would want to make the same adjustment in our dbt_hubspot package to be consistent with the documentation.
Let me know if you would be interested in addressing this PR. Otherwise, our team will be able to address this in our next sprint. Additionally, please let me know if setting the variable fixes your initial problem, if not we will want to look more into that 😄

Hi,
I added hubspot_service_enabled: true like you suggested but now I'm getting this error:
06:42:07  Database Error in model stg_hubspot__ticket_deal_tmp (models/tmp/stg_hubspot__ticket_deal_tmp.sql)
06:42:07    002003 (42S02): SQL compilation error:
06:42:07    Object 'FIVETRAN.HUBSPOT.TICKET_DEAL' does not exist or not authorized.
06:42:07    compiled SQL at target/run/hubspot_source/models/tmp/stg_hubspot__ticket_deal_tmp.sql

I'm guessing it's because we never used the connection between tickets and deals but it shouldn't stop  the package from creating basic ticket models, that are independent of Deals, should it?

Hi @moseleyi -- can you confirm that the ticket_deal table doesn't exist in your warehouse? if that's indeed the case, I am thinking we should introduce a hubspot_ticket_deal_enabled variable to disable its corresponding models

Fivetran does have it selected but the table isn't built, which I'm guessing suggests that it hasn't been used in Hubspot. Probably because when we used tickets, we never used to join them with Deals.

hey @moseleyi i've added a hubspot_ticket_deal_enabled variable that's false by default, this should let you just bypass these models since you don't have the ticket_deal source table (which most people don't)
if you'd like to try it out:
packages:
  - git: https://github.com/fivetran/dbt_hubspot_source.git
    revision: feature/disable-ticket-deal
    warn-unpinned: false

I added the package but still getting an error:

hmm is this not going to clash with the fivetran/hubspot package since it already has a hubspot_source dependency?

ah yeah -- lemme change the hubspot bugfix/deleted-stages branch to refer to this feature/disable-ticket-deal branch of the source package, so you can test both with that one package reference

ok the transform package should reference this branch, so you can remove the dbt_hubspot_source package reference

I ran the dbt deps

and I have this:
  hubspot_service_enabled: true
  hubspot_ticket_deal_enabled: false

And the ticket deal doesn't show an error anymore. Other ticket views are created but the ticket_deal is ommitted as expected

like no ticket-related staging models are showing up? that would mean it's not capturing that you have the hubspot_service_enabled var set to true 🤔

STaging views are created:

but no actual ticket-related models

ah by ticket-related materialised tables do you mean transform models? if so, the transform package actually doesn't do anything with tickets -- the source package just creates staging models for them

or rather do you mean you'd want these views materialized as tables?

Ahh okay, I thought tables would also be built automatically like for others but I see it's not in the hubspot package

Closing this issue as it has since been resolved.


real-time processing for FRCRN_SE_16K ?

Hi, thanks for sharing this great piece of work! Regarding ClearVoice, the documentation seems to suggest that the trained model FRCRN_SE_16K is the same used for the IEEE ICASSP 2022 DNS Challenge. Is this so? How is it possible? First, the code running FRCRN_SE_16K is an offline process (big chunks of audio are processed at once), while the referenced DNS Challenge would involve real-time processing. Also, the code here uses input windows of 40 ms, while 20 ms is used in the paper that you reference in the documentation... Do you plan to add also the model actually used for the DNS challenge, and possibly an example running it in a real-time framework (i.e., frame-by-frame processing instead of big chunks of audio)? Thanks!

Hi, thank you for your feedback, this releasing currently focuses on the performance refined on large training data, we have made changes on FRCRN structure for better performance on 16K audio. For 48K audio, please try MossFormer2_SE_48K model.

Hi, thank you for your feedback, this releasing currently focuses on the performance refined on large training data, we have made changes on FRCRN structure for better performance on 16K audio. For 48K audio, please try MossFormer2_SE_48K model.

Thank vishwamartur for the new addings. Meantime, we have released a 48K real-time model on ModelScope. Please have a check of it: https://modelscope.cn/models/iic/speech_dfsmn_ans_psm_48k_causal