Duplicating Deployments using Datasource

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request.
Please do not leave +1 or me too comments, they generate extra noise for issue followers and do not help prioritize the request.
If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Terraform Version
1.9.8
Affected Resource(s)
data.prefect_deployment
resource.prefect_deployment
Terraform Configuration Files

data "data" "existing" {
  id = "9e1eb232-4f15-404d-8a84-3727cc68f584"
}

resource "prefect_deployment" "copy" {
  name                     = "copy"
  description              = "A copy of an existing deployment"
  flow_id                  = data.prefect_deployment.existing.flow_id
  work_pool_name           = data.prefect_deployment.existing.work_pool_name
  work_queue_name          = data.prefect_deployment.existing.work_queue_name
  entrypoint               = data.prefect_deployment.existing.entrypoint
  path                     = data.prefect_deployment.existing.path
  job_variables            = data.prefect_deployment.existing.job_variables
  parameter_openapi_schema = data.prefect_deployment.existing.parameter_openapi_schema
  enforce_parameter_schema = data.prefect_deployment.existing.enforce_parameter_schema
}

Debug Output

Panic Output

https://gist.github.com/phergoualch/a0837a64b6f5246cd75be8b233c5512e
Expected Behavior
I would like to be able to datasource a deployment to create a copy with another name and parameters. I was able to do it using a Python script without issues but would like to have it using Terraform

Actual Behavior

Steps to Reproduce

terraform apply

Important Factoids

References

#0000

Thanks for reaching out @phergoualch.
I created a manifest based on your setup and was able to duplicate the deployment. I used version 2.12.0 of the provider, which is what I saw in your output gist.
Could you provide your full (relevant) configuration here so I can try again to replicate the problem? As a reference, here's what I used:
resource "prefect_flow" "example" {
  name = "example-flow"
  tags = ["example"]
}

resource "prefect_deployment" "example" {
  name        = "example-deployment"
  description = "Example deployment"
  flow_id     = prefect_flow.example.id

  enforce_parameter_schema = true
  entrypoint               = "flow.py:hello_world"
  job_variables = jsonencode({
    "env" : { "some-key" : "some-value" }
  })
  parameter_openapi_schema = jsonencode({
    "type" : "object",
    "properties" : {
      "some-parameter" : { "type" : "string" }
      "some-parameter2" : { "type" : "string" }
    }
  })
  path            = "./foo/bar"
  tags            = ["example"]
  work_pool_name  = "mitch-testing-pool"
  work_queue_name = "default"
}

data "prefect_deployment" "existing" {
  id = prefect_deployment.example.id
}

resource "prefect_deployment" "copy" {
  name        = "copy"
  description = "A copy of an existing deployment"

  enforce_parameter_schema = data.prefect_deployment.existing.enforce_parameter_schema
  entrypoint               = data.prefect_deployment.existing.entrypoint
  flow_id                  = data.prefect_deployment.existing.flow_id
  job_variables            = data.prefect_deployment.existing.job_variables
  parameter_openapi_schema = data.prefect_deployment.existing.parameter_openapi_schema
  path                     = data.prefect_deployment.existing.path
  tags                     = data.prefect_deployment.existing.tags
  work_pool_name           = data.prefect_deployment.existing.work_pool_name
  work_queue_name          = data.prefect_deployment.existing.work_queue_name
}

Thanks, I was able to duplicate a deployment using a datasource so I'm not quite sure how to replicate your issue yet.
Some things we can try:

Use a newer version of the provider than your current (2.12.0)
See if https://github.com/PrefectHQ/terraform-provider-prefect/pull/343 helps (or confirm you're using id in the datasource for now; I can see you are from the issue description, but just confirming)

@phergoualch - give 2.13.4 a try when you have a chance, we pushed a fix for datasourcing Deployments.


Add links to install extensions from the README

This PR is adding links to open the extension in Docker Desktop to install them easily.

LGTM. Thanks @benja-M-1


Can i render the page on what the user can only see?

Hi i just want to ask if there's a way to render only what user can see? Because the canvas is not working when the page is more than 30000 pixels length and its too slow.
Thanks.

You can define what to render by setting width, height, x, y etc.
See the upto date options for 1.0.0 at https://github.com/niklasvh/html2canvas/blob/master/docs/configuration.md


Is there a way to validate a token ignoring the expiration date?

Is there a way to validate a token ignoring the expiration date? Or can anybody tell me if there's an easy modification I could make to the library to allow this?
Thanks!

@agusguerra10,
Can you give some more details why you would want to do this? That seems like a major security vulnerability.

I know it's not the best thing considering security but it's something I am willing to leave aside in this particular case.
I have lots and lots of users with an expired token, resulting with them being logged out of the app. I need this users to get a new token without having them to enter their credentials again, so ignoring the token expiration date or being able to refresh a token with an old (not valid anymore) one would help me accomplish that. Does it make sense?
Thanks.
Agus.

That is not something I recommend and is definitely not in scope for Guardian.
If you really "need" that, you can define your own claim validation module and configure Guardian to use that:
config :guardian, Guardian,
  ...
  verify_module: MyApp.ClaimValidator

Have a look at Guardian.JWT and Guardian.ClaimValidation.


Convert ipynb to mdx

The following were created to convert tutorial notebooks to
mdx files for inclusion in the docusaurus build process.

website/tutorials.json

JSON file used to write metadata about which notebooks to include in
the tutorial build process. Any tutorials not in this file will not
be included in the build process.

scripts/convert_ipynb_to_mdx.py

This script reads the tutorial metadata from tutorials.json.
All tutorials that are built will create a new subfolder in
docs/overview/tutorials/{new-tutorial}.
The created mdx files are included in the subfolder, including an
assets folder that contains two subfolders img and plot_data.

The img folder contains a copy any binary resources used in the
tutorial (if any were used).
The plot_data folder contains JSON objects for bokeh figures.

A jsx file that contains react components for bokeh objects, as well
as a component for links to GitHub and Colab is also generated. This
file is used by the mdx file.

The following files were modified for the build process.

Makefile

A new rule was introduced called tutorials that will build all
tutorials listed in the website/tutorials.json file.

.gitignore

We are ignoring all files created by the tutorial build process.
This allows us to ensure the record of truth for the tutorials stays
in the ipynb files, and not in the generated mdx files.

website/docusaurus.config.js

The bokeh javascript library is loaded for all pages in the
documentation, since we are now using bokeh for some of the figures
in the regular docs.

website/sidebars.js

A new constructor was created in the sidebars.js that generates
all tutorial links that were built. New tutorials that are added to
the build will not need to modify sidebars.js in the future, as
long as the sidebar_label key is populated in the tutorials.json
file for the tutorial.

tutorials/Coin_flipping.ipynb

In order to show the process working, the Coin flipping tutorial was
modified to ensure a smooth build process.

Miscellaneous items.

Metadata was stripped from the coin flipping tutorial.
black was run on the coin flipping tutorial.
black, usort, flake8 was run on the new python script.

Resolves #1277
Motivation
Creates methods to convert tutorial notebooks to mdx files for inclusion in the
docusaurus build process.
Changes proposed

Addition of a new script folder that contains methods for creating mdx and jsx files
for the tutorials.

We can alternatively add this to the utils and create a shell script to do the
conversion.

Makefile updates

A new rule was added to build the tutorials. This rule should be combined with rules
used to build API documentation using Sphinx, as well as the regular documentation
for the tool.

tutorials.json

We could add frontmatter used for the mdx files in the notebook metadata, however,
we currently strip metadata from the notebooks. It can also be included in the
notebook itself, however, it does look out of place if it is included.

docusaurus.config.js

We are globally adding bokeh javascript to all pages of the documentation. We could
use the <Head> component in docusaurus to inject bokeh javascript to pages that
use it instead of it being global.

Coin flipping tutorial updates

In the notebook, we have converted the section describing the semantics of Bean
Machine's random_variable and functional decorators. Previously it was an HTML
div with styling applied. In order for this cell to not raise errors when building
using docusaurus, we had to change the div styling to how one would write it in a
react component. The notebook will no longer render the div styling when we do this,
but it prevents us from having to write code to strip styling from the div, or more
code to parse it and update it to react syntax.
Along the same vein as div styling is when dataframes are shown in notebooks. When
converting any output cells that have dataframe objects in them, we get local
styling for the table. This local styling is incompatible with react syntax so the
easiest solution was to display the table as markdown. The side effect of doing this
is the markdown table is easy to debug in the mdx file, however, it does lose
styling in the notebook. But docusaurus has no problem reading a markdown table, and
we did not have to write custom code to parse dataframe styling for docusaurus.

Test Plan

make tutorials
cd website
yarn build
yarn start

Inspection of the documentation was done visually in the browser. No tests were written
for the scripts folder, which is why we may want to include it in the utils section of
the tool.
Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.

Wow, this script is truly amazing. I just gave this script a try and can confirm that the two tutorials that's included here do render successfully on the website and the interactive plots also works on my side.
I noticed that the plots doesn't seem to have a width limitation, though. Not sure if I'm doing anything wrong here, but some plots seem to overflow to the right:
Other than this, I just have a few inline comments :D. Thanks for working on this, Andy!

I have not figured this one out just yet. Bokeh applies styling for the plots on an inner div that I need to figure out how to overwrite the CSS for. If I cannot figure out the CSS styling overrides, then we will need to modify what is shown in the tutorial such that figures display correctly within the dimensions set by the web page. Both solutions could still cause overflow issues like seen above due to the nature of CSS.

:D I just tried the updated script locally and things works like a charm. This should be good to go once the freeze is over. Thanks, Andy!

Thanks @horizon-blue I'll be sure to update my editor's LSP for JS/TS, as it missed all the type problems.


Enable mux and disable chain sync in sys.config

Upon checking sys.config, it appears two options are not set correctly for the miner:
   {gateway_and_mux_enable, false},    {gateways_run_chain, true}, %% if false, gateways will no longer follow the chain
Should be
   {gateway_and_mux_enable, true},    {gateways_run_chain, false}, %% if false, gateways will no longer follow the chain

What release are you running. This was changed last week.

The latest build, 335bee3. This is in the miner container,
/config/sys.config. I noticed that the first release that contained the
2022.07.14 firmware had mux enabled but still was syncing. Every build of
yours since has shown the above, mux disabled, sync enabled.
On Wed, Jul 27, 2022 at 12:08 AM Pritam Ghanghas @.***>
wrote:

What release are you running. This was changed last week.
—
Reply to this email directly, view it on GitHub
https://github.com/NebraLtd/helium-rak/issues/15#issuecomment-1196271429,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHWLHYFDZXA374YCT3ZVPQTVWC73TANCNFSM54XOAMHQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

that is base config I think. we override that config with
/opt/miner/releases/2<IP_ADDRESS>/sys.config
that should have the right settings.
Regards,
Pritam
On Wed, 27 Jul 2022 at 17:58, ifeign @.***> wrote:

The latest build, 335bee3. This is in the miner container,
/config/sys.config. I noticed that the first release that contained the
2022.07.14 firmware had mux enabled but still was syncing. Every build of
yours since has shown the above, mux disabled, sync enabled.
On Wed, Jul 27, 2022 at 12:08 AM Pritam Ghanghas @.***>
wrote:

What release are you running. This was changed last week.
—
Reply to this email directly, view it on GitHub
<
https://github.com/NebraLtd/helium-rak/issues/15#issuecomment-1196271429>,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AHWLHYFDZXA374YCT3ZVPQTVWC73TANCNFSM54XOAMHQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/NebraLtd/helium-rak/issues/15#issuecomment-1196664429,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABU3SVZCAI4NTJYLF2MBMSLVWETPXANCNFSM54XOAMHQ
.
You are receiving this because you commented.Message ID:
@.***>

that is base config I think. we override that config with /opt/miner/releases/2<IP_ADDRESS>/sys.config that should have the right settings. Regards, Pritam
…
On Wed, 27 Jul 2022 at 17:58, ifeign @.> wrote: The latest build, 335bee3. This is in the miner container, /config/sys.config. I noticed that the first release that contained the 2022.07.14 firmware had mux enabled but still was syncing. Every build of yours since has shown the above, mux disabled, sync enabled. On Wed, Jul 27, 2022 at 12:08 AM Pritam Ghanghas @.> wrote: > What release are you running. This was changed last week. > > — > Reply to this email directly, view it on GitHub > < #15 (comment)>, > or unsubscribe > < https://github.com/notifications/unsubscribe-auth/AHWLHYFDZXA374YCT3ZVPQTVWC73TANCNFSM54XOAMHQ > > . > You are receiving this because you authored the thread.Message ID: > @.> > — Reply to this email directly, view it on GitHub <#15 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU3SVZCAI4NTJYLF2MBMSLVWETPXANCNFSM54XOAMHQ . You are receiving this because you commented.Message ID: @.>

My mistake, you're correct. That config file is set up properly


isAccessTokenValid() is always false

I’m confused as to how isAccessTokenValid() works.  I currently save the access_token to my user in my database when they first connect their quickbooks account.  So how would any subsequent api calls know what the access token is and if it’s valid?  Should I be passing the access token explicitly somewhere to see if it’s valid?  Thanks for the help!
Sent with GitHawk

@kyleabens :
Before making any API calls, just call the helper method isAccessTokenValid() as shown below :
https://github.com/intuit/oauth-jsclient#is-accesstoken-valid
This issue #21 was fixed with PR #20. Please use the latest version of the package ~ 1.2.0
Since this library is not a fully blown SDK, you might need to call the above helper method explicitly every time you are making an API call in your app.

@abisalehalliprasan should I set the token first oauthClient.setToken(token);?  How would isAccessTokenValid() know what the token is in the first place and if it's valid or not?

@kyleabens :
If you are using this client to Authenticate?
for ex: as shown here , then you need not worry about setting the tokens. The OAuth Client does it for you.
However, if you are setting the tokens explicitly just refer to :
Set Tokens
So for your app, you could have this process :
setToken(authToken) -> isAccessTokenValid() -> MakeAPICall()
Note: The authToken should be generated using this client.

@abisalehalliprasan Okay thanks.  I figured out that my problem was not passing a createdAt timestamp with my token so the token was always valid.  Once I added that then it started working and refreshing when needed.


Ability to send raw MIDI messages

Is there any way to send raw MIDI messages using SendEvent() in the form of a byte[] and bypass the object wrappers? Because sometimes the user needs to be able to send a non-predetermined or ambiguous MIDI command, including ones not defined in the standard MIDI spec.
For example the managed-midi library allows you to do this as such:
outputDevice.Send(new byte [] {0x90, 0x40, 0x70}, 0, 3, 0);
I was hoping that drywetmidi has an equivalent function. Thanks!

Hi,
Nice feature request! At now you cannot send events as bytes, but I'll definitely add this ability.
Please note that you cannot send absolutely arbitrary bytes. In MIDI standard there are two types of MIDI events you can send/receive: channel and system exclusive.
System exclusive events already can be sent as bytes:
outputDevice.SendEvent(new NormalSysExEvent(new byte[] { ... }));

So I suppose you're talking about sending channel events (line Note On or Program Change) as bytes, right?

Yes, we love using undefined MIDI commands for gaming-related applications. I personally like using control change or sysex messages that are not picked up by MIDI players to ensure backwards compatibility. Although I know others who use NoteOn events too.

So why did you close the issue? :)
I'll implement sending channel events as bytes within the issue since sysex messages can be sent as bytes right now.

Thank you!

I decided to keep current signature of SendEvent. BUT it's obviously useful to have ability to get events from bytes. So I've added two classes:

BytesToMidiEventConverter which takes bytes array and returns MidiEvent read from the bytes;
MidiEventToBytesConverter which takes MidiEvent and returns byte array representing the event.

Both classes implement IDisposable so don't forget to use these classes inside using block or call Dispose manually.
So you can use BytesToMidiEventConverter to get MidiEvent and then pass that event to SendEvent method of OutputDevice.
Although it looks a bit complicated, in my opinion this way is much more flexible since it's basic. New classes can be used for different scenarios, not for MIDI events sending only, providing the same API.
New classes are in develop branch so if you want to use them right now, please build the library from sources.

Excellent

Please give your feedback (suggestions, questions, ...) or close the issue.

I can't close the issue anymore.


Syntax highlighting is not behaving as expected.

Describe the bug
Syntax highlighting isn't behaving like in Gms2.
Tried GM 8.1, GM:S, and GM:S2 syntax options and they all behave the same.
Expected behavior
var variables should be different colors than object variables.
some gms2 functions are highlighting and others are not.
some strings are being colored... others are not.
Screenshots

Desktop

OS: Windows 10 v19041
Extension Version:

The var syntax has been fixed, but this project's source code is too old, I need a long time to adjust it.

I wish I knew how to do this type of stuff, I would totally try to fix it myself.

how can I install the new version? VSCode shows GML Support v1.7.2

1.7.3 is live on VSCode Marketplace.
It is much more eye friendly now. thank you!


UNMET PEER DEPENDENCY ionic 3.5.2 and 3

UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>I think you need to update it. Its not working for my project.
Please provide you version information :

Dependency
Version

ionic2
3.5.0

angular
3.5.3

ionic-img-viewer
2.4.0

Have you checked...

[ ] That npm install returns no warning ?
[ ] Doing a purge of your node_modules folder ?

It just a warning.... no more need to care.

Indeed I have to update the package, I'll do it quickly.

I am confused here.  I am getting the "UNMET PEER DEPENDENCY" error/warning.

Is this an error or a warning?
Does<EMAIL_ADDRESS>support<EMAIL_ADDRESS>
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
Mashamas-MacBook-Pro:moxility-ionic mashama$ ionic info
global packages:
@ionic/cli-utils : 1.5.0
Cordova CLI      : 6.5.0
Ionic CLI        : 3.5.0

local packages:
@ionic/app-scripts              : 2.0.2
@ionic/cli-plugin-cordova       : 1.4.1
@ionic/cli-plugin-ionic-angular : 1.3.2
Cordova Platforms               : android 6.1.2 browser 4.1.0 ios 4.3.1
Ionic Framework                 : ionic-angular 3.5.3

System:
Node       : v7.7.4
OS         : macOS Sierra
Xcode      : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
ios-sim    : 5.0.13
npm        : 4.1.2

@Riron I just noticed your comment from an hour ago ... is it ok to assume that your updates to the package.json will resolve my issue here?  I have yet to get this to work in my project.

@godspeed529 as mentioned earlier, it is just a warning. @Riron update will only make the warning disappear during npm install.
Do you have any problem popping up after the npm install ? If you do, please open another issue and describe it there ! :wink:

@sharkoz thanks for the clarification.  I will double back to this again soon as far as I can tell from your messaging this should work with the latest and greatest Ionic!  I have already tried twice before and can't seem to get it working in my project.  Perhaps this time I will try in a freshly generated 3.6.0 app ...


What is the result on the bird dataset with GPT-3.5-turbo

I would like to understand the performance of DIAL-SQL on the bird dataset under GPT-3.5-turbo. May I ask if you have any results?

Hi,
Thank you for your interest in our work. We have not yet tested the performance of DAIL-SQL on the bird dataset under GPT-3.5-turbo.

Okay, I'd like to know how much budget would be required to run validation tests on the Spider dataset and Bird dataset using DAIL-SQL with GPT-4.

Hi,
You can refer to Appendix E.1 in our updated paper. There are detail analyses of financial efficiency of DAIL-SQL without self-consistency in Spider-Dev at November 8, 2023. BTY, the self-consistency does not increase the cost much since only the output tokens are duplicately included in the cost. The evaluation on Bird costs at the same level.

OK. Thanks!


Add Hong Jin's details to About Us page

Rename file type to .png format and filename to your github username.
Also, remember to submit pull request from a branch from your local fork next time!


Error retrieving record

Jun 03, 2016 5:49:50 PM com.orientechnologies.common.log.OLogManager log SEVERE: {db=$home$alex$.openchrom$1.1.x$net.openchrom.chromatogram.xxd.identifier.supplier.chromident$test11} Error on fetching record during browsing. The record has been skipped com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #15:77 (cluster: chromident_reference_peak) 	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1855) 	at com.orientechnologies.orient.core.tx.OTransactionNoTx.loadRecord(OTransactionNoTx.java:96) 	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1596) 	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:122) 	at com.orientechnologies.orient.core.iterator.OIdentifiableIterator.readCurrentRecord(OIdentifiableIterator.java:287) 	at com.orientechnologies.orient.core.iterator.ORecordIteratorClusters.hasNext(ORecordIteratorClusters.java:160) 	at net.openchrom.chromatogram.xxd.identifier.supplier.xident.database.controller.DatabasesOrientDB.deleteOrigin(DatabasesOrientDB.java:148) 	at net.openchrom.chromatogram.xxd.identifier.supplier.xident.ui.internal.runnables.DatabaseOriginDeleteRunnable.run(DatabaseOriginDeleteRunnable.java:35) 	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) Caused by: com.orientechnologies.common.directmemory.ODirectMemoryViolationException: Last position of provided data interval [771883588] is more than size of allocated area [65552] 	at com.orientechnologies.common.directmemory.OUntrackedDirectMemoryPointer.rangeCheck(OUntrackedDirectMemoryPointer.java:240) 	at com.orientechnologies.common.directmemory.OUntrackedDirectMemoryPointer.get(OUntrackedDirectMemoryPointer.java:83) 	at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurablePage.getBinaryValue(ODurablePage.java:113) 	at com.orientechnologies.orient.core.storage.impl.local.paginated.OClusterPage.getRecordBinaryValue(OClusterPage.java:395) 	at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readFullEntry(OPaginatedCluster.java:1341) 	at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:516) 	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doReadRecord(OAbstractPaginatedStorage.java:2076) 	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1804) 	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:782) 	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3092) 	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1820) 	... 8 more
Important Questions
Runninng Mode

[x] Embedded, using PLOCAL access mode
[ ] Embedded, using MEMORY access mode
[ ] Remote

Misc

[ ] I have a distributed setup with multiple servers. How many?
[ ] I'm using the Enterprise Edition

OrientDB Version

[ ] v2.0.x - Please specify last number:
[x] v2.1.x - Please specify last number:
[ ] v2.2.x - Please specify last number:

Operating System

[x] Linux
[ ] MacOSX
[ ] Windows
[ ] Other Unix
[ ] Other, name?

Java Version

[ ] 6
[ ] 7
[x] 8

+1

HIi @krullert, we have already discussed this issue in PrjHub issue which  you had may be caused by two facts:

Many OOMs during tx commit (as I can get you , you often saw them before), we are working on new infrastructure to avoid OOM at all. 2.2.x version has much less memory consumpton during tx and I think next versons will rely on new infrastructure which will  prevent OOMs. But right now you should increase heap size to avoid OOM.
Database which you use was created on verion prior 2.1.14 in this version TX implementation had issue. But you noticed broken recrod much later.

So I suggest you to increase heap size and make import/export as we discussed.


Export drop from option-t/PlainOption

Let's do same with https://github.com/option-t/option-t/pull/2138


oimo.module.js: OIMO is not defined

Hi,
I'm using the ES6 import from Oimo, and I'm getting an error that seems to be deep within the prebuilt oimo.module.js:
Uncaught ReferenceError: OIMO is not defined
    at eval (eval at evaluate (:117:21), <anonymous>:1:1)
    at BoxShape.updateProxy (http://<IP_ADDRESS>:8888/js/main.js:50564:13)
    at RigidBody.syncShapes (http://<IP_ADDRESS>:8888/js/main.js:54910:19)
    at RigidBody.setupMass (http://<IP_ADDRESS>:8888/js/main.js:54703:14)
    at World.add (http://<IP_ADDRESS>:8888/js/main.js:55873:22)
    ...

So my code clearly sees OIMO, and it's been included using Rollup+NodeResolve+CommonJS. But the Oimo code apparently is assuming an OIMO global variable, which doesn't exist.
A bit of grepping finds only one more place that an OIMO global is expected in oimo.module.js here:
if(r[n2+0]) {
	var q = new Quat().setFromAxis( r[n2], r[n2+1], r[n2+2], r[n2+3] );
	//var q = body.rotationAxisToQuad( r[0], r[1], r[2], r[3] );
	shapes[i].relativeRotation = new OIMO.Mat33().setQuat(q);
}

Looks like relatively simple fixes? For now I'm patching window.OIMO to point to OIMO.

yea is a error in code thank's i fix that


feature: sort plugins by name in configuration editor

More of a UI issue than an API one, but since it makes sense to have them in alphabetical order also in the api in case somebody human reads it let's have it this way.


Don't use conda-env files with Travis-CI

I'll explain the details inline but the main change here is to avoid using conda-env environment files but use the same requirements files to instead to create the test env. This will prevent mismatch between the testing env and what people will get when installing pysal with wither pip or conda.

Thanks for the detailed explanation. This is really helpful!


Add basic email checking tools

This adds a set of small scripts that can be composed together to test if domains' email settings follow government security guidance.
They are all very small shell scripts that do one thing, and mostly exist to document the intent of each component.

Having a second read, is it worth quoting your inputs ("$1") to prevent globbing/word splitting?


Android 13

Hello.
First, thank you so much for your tutorial.
Do you know why this code do not work on Android 13? I ran it in a device with Android 12 and bellow.

First, thank you so much for your tutorial.

Do you know why this code do not work on Android 13? I ran it in a device with Android 12 and bellow.

Yes. It's because of this issue in the camera plugin. I've downgraded the target SDK version to 32, now it works.

Hi! I'm new to app development and when I tried running your code I received this output:
A problem occurred configuring root project 'android'.

java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file

What does this mean and what can I do to make it work?

Hello @MaetrixG, can you give me more details?
For example, how are you trying to run the project? Can you write the output of running flutter doctor here?


"Could not decode a text frame as UTF-8" when continuously updating a variable in async task

I'm trying to animate a plot by continuously updating its data in a loop. I also have some controls to alter the data. When I click on a control, the plot animation freezes for a split second, and then continues normally. The freezing also happens randomly when the app has been running for 1min.
Here's a MWE to reproduce the issue:
using GenieFramework
@genietools

@app begin
  @out t = 0.0
  @in x = 1.0
  @onchange isready begin
    @async begin
      while true
        t = t+0.1
        sleep(0.1)
      end
    end
  end
end
ui() = """<q-slider :min="0" :max="100" :step="1" v-model="x"/> {{t}}"""

@page("/", ui)

I believe this is an issue with the websocket. It shows a  "Could not decode a text frame as UTF-8" error and a new websocket needs to be created, hence introducing a delay.

I saw this error when independent Tasks where updating model fields.
It seems that some webchannel messages are queued and some are not  but simply sent without precaution. If these overlap, messages are corrupted. This happens particularly for large model fields.

Yes, looking into it this week (today/tomorrow)

Released a series of fixes to mitigate this. Performance has improved considerably.


babel-runtime/core-js/promise NOT FOUND ERROR

I encounter an error which looks like babel-runtime is in devDependencies but not dependencies:
{ Error: Cannot find module 'babel-runtime/core-js/promise'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (~/node_modules/postcss-smart-import/lib/index.js:6:32)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
...

Thanks for the report. Never experienced this on my own. But your comment seems to be right - it should be in the deps.
Fixed in https://github.com/sebastian-software/postcss-smart-import/commit/b5628681f68d05430fbf1f1e022820a2d130a9ca


[loc][Query][VSCode] Please clarify meaning of the string

Hello,
we have a question from our translator. Can you help please? Thanks!
Resource ID: ".resx", 0; "commit message"
File: extensions\git\out\commands.nls.resx
Source: Commit message
Question: Is "Commit" a verb here?

It's a noun: the commit message is used for committing.


Refs #27236 -- Split RenameField() tests with unique/index_together.

Test failure is not related with this patch.


Deploying 20 Type LB services takes more than 3-4 minutes to deploy

Setup Details
FIC Version : 0.1.6
CIS Version : 2.8.0
Orchestration: K8S
Orchestration Version: 1.21
Description
A customer is deploying 45 type LB services (using 3 different ipamlabels) and reported back times that exceed 15 minutes to add and more to delete.
I replicated the environment and I could observe that with 20 service LB (with a single ipamlabel) it takes more than 4 minutes to deploy. From the logs I observed that it takes CIS 4 minutes to send the declaration to BIGIP.  Therefore the bottleneck is in CIS.
Also the IP is assigned very quickly from FIC.
Steps To Reproduce

create a ipamlabel (Prod) and deploy the attached configuration
20-lb.yaml.txt

Actual Result
The whole process should not take more than few seconds.
Diagnostic Information
the IPAM deployment can be found below
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: f5-ipam
  name: f5-ipam
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: f5-ipam
  template:
    metadata:
      labels:
        app: f5-ipam
    spec:
      containers:
      - args:
        - --orchestration=kubernetes
        - --ip-range='{"Dev":"<IP_ADDRESS>-<IP_ADDRESS>","Prod":"<IP_ADDRESS>-<IP_ADDRESS>","oam":"<IP_ADDRESS>-<IP_ADDRESS>","sig":"<IP_ADDRESS>-<IP_ADDRESS>","prov":"<IP_ADDRESS>-<IP_ADDRESS>"}'
        - --log-level=DEBUG
        command:
        - /app/bin/f5-ipam-controller
        image: f5networks/f5-ipam-controller:0.1.6
        imagePullPolicy: IfNotPresent
        name: f5-ipam-controller
        terminationMessagePath: /dev/termination-log
        volumeMounts:
        - mountPath: /app/ipamdb
          name: samplevol
      securityContext:
        fsGroup: 1200
        runAsGroup: 1200
        runAsUser: 1200
      serviceAccount: bigip-ctlr
      serviceAccountName: bigip-ctlr
      volumes:
      - name: samplevol
        persistentVolumeClaim:
          claimName: pvc-local

Observations (if any)

Created [CONTCNTR-3280] for internal tracking.

closing this issue as it gets addressed at https://github.com/F5Networks/k8s-bigip-ctlr/issues/2484


<EMAIL_ADDRESS>hash check failed

Prerequisites

[X] I have used the predefined issue title. (e.g. "xxx@xxx: hash check failed")
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name and Version
<EMAIL_ADDRESS>

PS C:\Users\User> scoop install process-explorer
WARN  Purging previous failed installation of process-explorer.
ERROR 'process-explorer' isn't installed correctly.
Removing older version (17.02).
'process-explorer' was uninstalled.
Installing 'process-explorer' (17.02) [64bit] from sysinternals bucket
ProcessExplorer.zip (3.4 MB) [================================================================================] 100%
Checking hash of ProcessExplorer.zip ... ERROR Hash check failed!
App:         sysinternals/process-explorer
URL:         https://download.sysinternals.com/files/ProcessExplorer.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    50e04af2ab5e5882ef95b7ba257e6576ad13dba300fe1234228d9384a9f90964
Actual:      9a5bc19e03fcc785f8ae322593e5aae9b287e9a891dc999689708761fc70aa0b

Please try again or create a new issue by using the following link and paste your console output:
https:////

PS C:\Users\User> scoop update
Updating Scoop...
Updating 'extras' bucket...
Updating 'main' bucket...
Updating 'sysinternals' bucket...
fatal: detected dubious ownership in repository at 'C:/Users/User/scoop/buckets/sysinternals'
'C:/Users/User/scoop/buckets/sysinternals' is owned by:
        'S-1-5-32-544'
but the current user is:
        'S-1-5-21-3092747518-3779575986-84912231-1001'
To add an exception for this directory, call:

        git config --global --add safe.directory C:/Users/User/scoop/buckets/sysinternals
fatal: detected dubious ownership in repository at 'C:/Users/User/scoop/buckets/sysinternals'
'C:/Users/User/scoop/buckets/sysinternals' is owned by:
        'S-1-5-32-544'
but the current user is:
        'S-1-5-21-3092747518-3779575986-84912231-1001'
To add an exception for this directory, call:

        git config --global --add safe.directory C:/Users/User/scoop/buckets/sysinternals
fatal: detected dubious ownership in repository at 'C:/Users/User/scoop/buckets/sysinternals'
'C:/Users/User/scoop/buckets/sysinternals' is owned by:
        'S-1-5-32-544'
but the current user is:
        'S-1-5-21-3092747518-3779575986-84912231-1001'
To add an exception for this directory, call:

        git config --global --add safe.directory C:/Users/User/scoop/buckets/sysinternals
Updating 'versions' bucket...
Scoop was updated successfully!
PS C:\Users\User> scoop update process-explorer
process-explorer: 17.02 (latest version)
Latest versions for all apps are installed! For more information try 'scoop status'
PS C:\Users\User> scoop update process-explorer --force
process-explorer: 17.02 -> 17.02
Updating one outdated app:
Updating 'process-explorer' (17.02 -> 17.02)
Downloading new version
Loading ProcessExplorer.zip from cache
Checking hash of ProcessExplorer.zip ... ERROR Hash check failed!
App:         sysinternals/process-explorer
URL:         https://download.sysinternals.com/files/ProcessExplorer.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    50e04af2ab5e5882ef95b7ba257e6576ad13dba300fe1234228d9384a9f90964
Actual:      9a5bc19e03fcc785f8ae322593e5aae9b287e9a891dc999689708761fc70aa0b

Please try again or create a new issue by using the following link and paste your console output:
https:////

I fixed it by removing the bucket and adding it again, thanks for your help! It would be nice if a proper URL for reporting was displayed (not sure if a bucket issue or a scoop issue) as well as some protection against the ownership issue (probably scoop)
PS C:\Users\User> scoop bucket rm sysinternals
PS C:\Users\User> scoop bucket add sysinternals
Checking repo... OK
The sysinternals bucket was added successfully.
PS C:\Users\User> scoop update process-explorer
process-explorer: 17.02 -> 17.04
Updating one outdated app:
Updating 'process-explorer' (17.02 -> 17.04)
Downloading new version
ProcessExplorer.zip (3.4 MB) [=======================================================================================================================================================================================================================================] 100%
Checking hash of ProcessExplorer.zip ... ok.
Uninstalling 'process-explorer' (17.02)
Removing shim 'procexp.shim'.
Removing shim 'procexp.exe'.
Unlinking ~\scoop\apps\process-explorer\current
Installing 'process-explorer' (17.04) [64bit] from sysinternals bucket
Loading ProcessExplorer.zip from cache
Extracting ProcessExplorer.zip ... done.
Linking ~\scoop\apps\process-explorer\current => ~\scoop\apps\process-explorer\17.04
Creating shim for 'procexp'.
Creating shortcut for SysInternals/Process Explorer (procexp64.exe)
'process-explorer' (17.04) was installed successfully!


E/RunLoop: Uncaught exception in Firebase runloop (3.0.0)

Strange error! what is the issue behind this?
Recently only, I'm seeing this error :(

compile 'com.google.firebase:firebase-database:9.0.2'
compile "'om.google.firebase:firebase-auth:9.0.2'

E/RunLoop: Uncaught exception in Firebase runloop (3.0.0). Please report to<EMAIL_ADDRESS>
 java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.internal.zzafg.zzg(com.google.android.gms.internal.zzafa, com.google.android.gms.internal.zzahu)' on a null object reference
                                                                   at com.google.android.gms.internal.zzafc.zzb(Unknown Source)
                                                                   at com.google.android.gms.internal.zzafc.zzat(Unknown Source)
                                                                   at com.google.firebase.database.connection.idl.IPersistentConnectionImpl$3.zzJ(Unknown Source)
                                                                   at com.google.firebase.database.connection.idl.zzi$zza.onTransact(Unknown Source)
                                                                   at android.os.Binder.transact(Binder.java:387)
                                                                   at alx.a(:com.google.android.gms.DynamiteModulesC:211)
                                                                   at amb.a(:com.google.android.gms.DynamiteModulesC:339)
                                                                   at akf.a(:com.google.android.gms.DynamiteModulesC:6851)
                                                                   at ajt.a(:com.google.android.gms.DynamiteModulesC:5191)
                                                                   at akw.b(:com.google.android.gms.DynamiteModulesC:226)
                                                                   at akw.a(:com.google.android.gms.DynamiteModulesC:271)
                                                                   at ald.run(:com.google.android.gms.DynamiteModulesC:1020)
                                                                   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                                                                   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                                   at java.lang.Thread.run(Thread.java:818)

Guys any update on this?

mFirebaseDatabase.setPersistenceEnabled(true);

I've enabled database persistance. whenever i get the above crash, unable to proceed my app further! It's keep on crashing every time; until I clear the App data.
Kindly update some solution / workaroud.
Thanks in advance!

@Karthi-R sorry for the delayed response here.  This is being discussed on the firebase-talk mailing list, you can check out the thread here:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/firebase-talk/iy0762S3KsU/G46mNG6KAAAJ
You can also discuss on StackOverflow:
http://stackoverflow.com/questions/37724801/uncaught-exception-in-firebase-runloop-3-0-0
The team is aware of the issue and looking into it, here's the latest response:
"""
Hey guys,
We've seen this crash before and it happens when the Database offline cache is in an invalid state.  So far this has always been due to using Firebase Database from a multi-process app.  Usually people are not creating multiple processes on purpose but some dependency (e.g. firebase-crash) is doing it on their behalf.  And keep in mind that even if you change your code so that it's no longer multi-process (e.g. remove the dependency that was creating the second process), you may still hit the crash on app start until you clear your application data since the corrupted data will still be on disk.
So I would:
Try to make sure none of your dependencies create a second process.
Make sure you're not initializing FirebaseDatabase from your Application class (which gets created for every process in your app).
If you're already hitting the crash, clear your application data (from Settings > Apps > your app).
If you still run into this issue, it would be immensely helpful if you could provide a set of steps to reproduce it (ideally an example app with source code that we can run) so we can track down the root cause.
Thanks!
-Michael
"""

@samtstern - Already tried all the steps mentioned - still the crashes keep occurring. Where can I email the example app with the source code?

@samtstern - Have emailed you the source code to reproduce the bug. The exact same code doesn't crash using the old client, but crashes on the new ones (9.2.0 & 9.0.2).

Is this fixed? I am also facing the same issue

We can reproduce this consistently with fixed endAt and startAt query parameters on 9.0.2 and 9.2.0. Here are the details: http://stackoverflow.com/a/38348574/1252289

pro-guard still caused crash.. adding @Keep to the ViewHolder class solved for me..

@kirtan403 could you explain how did you solved? Please

Ohh.. I am so sorry! I just posted on the wrong thread! But yes, I have updated the answer..

Same error. Can't disabled persistent as I need offline support. @puf Any other work around?

@samtstern - I have tried the new SDK 9.4.0 and the issue still persist. The issue arose when we used startAt and endAt for the first time. Our app is not multiprocess (checked via the provided methods on StackOverflow) and we do not use the crash SDK.
There seems to be no progress on the mailing list, StackOverflow or this issue for a long time. Has it been tracked somewhere at Google? Have you got a chance to reproduce it? And why the issue is closed?

Here is an excerpt from a response from Firebase support:

Apologies for any inconvenience this might have caused your development. We are already aware of this issue, wherein queries with integer startAt / endAt values could get written multiple times to persistence causing tracked queries to be corrupt, leading to a crash. However, I cannot give you any timeline for the release. Rest assured that we are actively working hard to address this issue.
In the meantime, try to avoid having queries with endAt or startAt when data persistence is enabled.
Keep an eye on our release notes for further update. Again, sorry for the inconvenience.

Any progress?

Any alternative way to solve this problem?

@viksoffice @tsadoklf you can expect a fix in the next release, in the meantime there is not a good workaround if you require startAt, endAt, and persistence.

@samtstern will there be a fix for the multi process problem or a fix for the startAt and endAt stuff?
My app crashes all the time during development because of the dirty offline cache state. I can't release it in this state

@RichardGottschalk a fix for the startAt/endAt problem is coming, unfortunately I can't offer any fixed timelines.

@samtstern can you at least mark the issue as opened, please?

@curiousily I understand your motivation, but we try to only keep open issues here that may be bugs with the quickstart itself, this is not a general Firebase issue tracker.
We're certainly tracking this as an open issue internally until the fix is rolled out publicly.

The same problem is happening with equalTo() method. Is there any usage of startAt/endAt inside equalTo?

@rafaelperatello same problem here.

@samtstern Thank you for the response. That is all ok, where can we (as users) track the progress on the fix?

Hey all,
We do appreciate that you're all waiting for a fix.  Github (and this repo) is not the best place to track this.  I'd recommend discussing with the community either on StackOverflow or the firebase-talk mailing list.
Here's a popular SO question on this error: http://stackoverflow.com/questions/37724801/uncaught-exception-in-firebase-runloop-3-0-0
And here's a thread on the mailing list: https://groups.google.com/d/topic/firebase-talk/iy0762S3KsU/discussion
I will also try to update here when the fix is in place, but won't be providing GIthub updates on timelines or intermediate solutions until then.

Sam

There is a new Android SDK released. It says this:

Fixed a hardAssert failed exception that could occur when offline persistence is enabled and certain startAt() and endAt() queries were used.

I think this issue is resolved. Right @samtstern ?

I still see this issue while using transaction with version 9.0.8.

Code to reproduce the same with 9.0.8 or 10.2.0
`
postRef.runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
BoPostRent p = mutableData.getValue(BoPostRent.class);
if (p == null) {
return Transaction.success(mutableData);
}
            if (p.stars.containsKey(getUid())) {
                String wishlistId = p.stars.get(getUid());
                wishlistRef.child(wishlistId).removeValue();
                // Unstar the post and remove self from stars
                p.starCount = p.starCount - 1;
                p.stars.remove(getUid());

            } else {
                // Star the post and add self to stars
                String wishlistId = wishlistRef.push().getKey();
                property.setPostedOn(Common.getTimestampString());
                property.setPostedOnLong(Common.getTimestampLong());
                wishlistRef.child(wishlistId).setValue(property);
                p.starCount = p.starCount + 1;
                p.stars.put(getUid(), wishlistId);

            }

            // Set value and report transaction success
            mutableData.setValue(p);
            return Transaction.success(mutableData);
        }

        @Override
        public void onComplete(DatabaseError databaseError, boolean b,
                               DataSnapshot dataSnapshot) {
            // Transaction completed
            if (databaseError == null)
                toast("Your wishlist has been updated successfully");
            else {
                log("postTransaction:onComplete:" + databaseError);
                toast("Failed to add item into your wishlist. Please try again");
            }
        }
    });

`

facing the same issue. i am not using persistentStorage and this issue is coming only for production @samtstern

Fatal Exception: java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to<EMAIL_ADDRESS>at com.google.firebase.database.android.AndroidPlatform$1$1.run(AndroidPlatform.java:96)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

apply plugin: 'com.google.gms.google-services'
check if above dependency added if not add it and retry.
This worked for me


chore(twig): use base theme preview docker image

This PR uses a preview Docker image for the base theme built on https://github.com/international-labour-organization/ilo_base_theme/pull/28
Once we are ready to merge and release the big Twig refactoring, we must remember to change it back to 0.x.

Compared to the pipeline that was run for #1138 it looks like an image is working correctly, @Shashika6 you can take a look at rest

Thank you @GGKapanadze I'll merge this PR, so that the main branch can start using the preview Docker image too.


[Vulnerability] - createSecureDocBuilderFactory was added to JaxpDOMP…

@julianhyde, could you please take a look?
Vulnerability of eigenbase-xom was detected in scope of work on http://jira.pentaho.com/browse/PPP-3506.
Additionally xercesImpl was updated since org.apache.xerces.jaxp.DocumentBuilderFactoryImpl of 2.5.0 do not implement setFeature method.
Thanks.

Hi Julian, The CI build failed because one of the dependencies cannot be built on Java 6.
Anything we can do to help?
[INFO] --- maven-bundle-plugin:3.2.0:bundle (default-bundle) @ eigenbase-xom ---
[WARNING] Error injecting: org.apache.felix.bundleplugin.BundlePlugin
java.lang.UnsupportedClassVersionError: aQute/bnd/osgi/Analyzer : Unsupported major.minor version 51.0

Seems like we should have specified the Apache Felix version explicitly. Setting it to 2.4.0 seems to work. Marking closed in 0eb84fcdd36ef5458b2dddd8dbd5c64b9cad988a. The Felix fix is in e91fd89d48ea3a141694fff864fbe12734d82ee1.


Artless Corrupted Meat and Meat Treat relics

This PR adds Corrupted Meat and Meat Treat relics, both working as described on the initial The Gartic's Draft.
It also adds some OnSummon trigger code so Corrupted Meat can work as intented. That code may need to be improved in the future (maybe as a patch, instead of it's current form?).
Both are currently artless, but I will work on that on the near future.

Changed it - in the end the only confllict was with Mirrored Fox's orb description, already added it to my branch :+1:. @DioBal


build(deps): add stylelint to demo

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[x] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
No sass linting for demo
Fixes: N/A
What is the new behavior?
Add stylelint to demo
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

Could we make the tabs 2 spaces instead of whatever they are now? They're really big

@lderrickable They are? GitHub displays them bigger than they actually are.

@lderrickable They are?  LGTM then


TypeError: Failed to fetch

Steps to reproduce the problem:

remort server pdf is not accesing

throwing error like

https://cdn.dotplus.in/Cloud/ELearningPlus/elearning/coverimage/d67bc70f7163.pdf

When opening an issue, you must provide all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md; as-is this issue contains no actionable information and will be closed as INVALID.
Furthermore, please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.

Have you solved the problem yet？I‘ve met too！


Add a [require] section to cgtests.

I've tested that the [require] section persists across cgtest updates.
The format / meaning of the section is up to the specific cgtest suite. I've
provided an example (for the codegen-unit-tests) that treats each
line in the require section as a statement that must evaluate to true.

🥇

(g3 passed: cl/323910043)

Can you update the comment for CodegenUnitTest please?


Usage with redux-persist

Hi there!
I really like this library - and I also really like redux-persist which allows to save parts of the store to local storage. Unfortunately both this module and redux-persist require to use their own method to create a redux store, and these methods are not chainable if I am not mistaken.
What would the preferred way to solve this? If there is no way yet but an idea of how to solve this as an additional feature in this library, I would be willing to try myself on a PR.
I have also opened an issue with the other repo.
Best,
Daniel

We could look and see how redux-persist works and perhaps create a new extension for it

I can investigate this more this week

Great! If there is any way I can help, please let me know. In the mean time I will be working on a plugin for redux beacon

Hey there, I happened to do this exact thing recently (using redux persist along side redux dynamic module) and here's how I did it

have a normal config for your persist
const persistConfig = {key: "PersistKey", storage, whitelist, blacklist};
const persistedReducer = persistReducer(config, yourReducer)

And then create a module with redux dynamic module:
export function getYourModule() {
id: "YourID",
reducerMap: {
reducer: persistedReducer
}
}
Now the main problem with redux dynamic module is that your module isnt loaded until it being render, so with all we did so far at the start of your app the persistedReducer didnt get put into store yet, so you need to call .persist() on the constructor of your component to tell redux persistor that you have just loaded this new reducer, now it should try to look for the persist data of the newly loaded reducer.
As for the store, you can do something like this:
import { createStore } from 'redux-dynamic-modules';
import { persistStore } from 'redux-persist';
const store = createStore(.......);
const persistStore = persistStore(store);
Save this persistStore in some way, so on the constructor of your component like I talk about earlier you can call "persistStore.persist();", and it should persist your reducer in that dynamic module now

@MegazeroMZ can you give a better example on how/when/where you are calling persistStore.persist(); ?

@MegazeroMZ can you give a better example on how/when/where you are calling persistStore.persist(); ?

So continue with what I already have in the previous post, let's say I have a component called Setting, and I making it a dynamic module using redux-dynamic-module, then I will have this:
<DynamicModuleLoader modules={getYourModule()}>
  <Setting />
</DynamicModuleLoader>

Now once this Setting got render on the screen, getYourModule() will finally be put into the store by redux-dynamic-module, so now if you log out the state of your reducer you will finally see the state in the persistedReducer got put into the store. So now is when you can call persistStore.persist(), so it make sense to call it in the constructor of Setting component, so you will have Setting component look something like this:
// import persistStore from where you saved it
class Setting extends React.Component {
    constructor(props) {
        super(props);
        persistStore.persist();
    }
   ... // the rest of the component

@MegazeroMZ thanks, I already figured it out and it works.
Also it is worth mentioning that the PersistGate component is not working with redux-dynamic-modules. When I tried using it it get's stuck at the loading phase

@MegazeroMZ thanks, I already figured it out and it works.
Also it is worth mentioning that the PersistGate component is not working with redux-dynamic-modules. When I tried using it it get's stuck at the loading phase

PersistGate does work with redux-dynamic-modules.
This one is slightly more complicated. The role of the PersistGate is to stop the app from being load until the persist has check all the reducers for persisted stuff. BUT, and a big BUT here, if there's no persistedReducer passed to the persistor prop in PersistGate, then PersistGate thinking that it havent check all reducer yet cause it couldnt find any persistedReducer, hence it stuck in loading, or stuck in PersistGate in this case. In case the only persistedReducer you use are inside 1 of the redux-dynamic-module, because it havent been load yet so PersistGate cant find it, hence it stuck.
There's 2 way around this. 1 is you cheated by purposely add a persistedReducer of some unimportant, even unused, reducer to the persistor prop in PersistGate. 2 is you check if there's any persistedReducer in the persistorStore or not, if not then dont use PersistGate, if there is then use PersistGate. You can check this by checking persistStore.getState().registry.length, if it > 0 then you have some persistedReducer in the store, if its 0 then you dont.

Hi, still no persist extension available? :(

Would it be possible to add this implementation to one of the examples here https://github.com/microsoft/redux-dynamic-modules/tree/master/packages?

This is how it worked for us:
const authModule = {
  id: 'auth',
  reducerMap: {
    auth: persistReducer(createPersistConfig('local_storage_auth'), authReducer)
  }
}

export const store = createStore({}, authModule)
export const persistor = persistStore(store)

This way each module can decide on its own what to persist, but localStorage will be a bit cluttered

Just use advancedCombineReducers:
// createStore.ts
import { combineReducers } from 'redux'
import { createStore as createDynamicStore } from 'redux-dynamic-modules'
import { createReducer } from 'reduxsauce' // can use your own reducers as well
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'

const reducer = createReducer({}, { _: state => state }) // or write your own initial reducer

const mandatoryInitialModule = {
  id: '_initial_module',
  reducerMap: { _: reducer }
}

export const createStore = () => {
  const store = createDynamicStore(
      {
        extensions: [...],
        advancedCombineReducers: reducers => // combineReducers by default, see https://github.com/microsoft/redux-dynamic-modules/blob/7492972e1d4f969eae70c28ec9fc55f7cbb75e55/packages/redux-dynamic-modules-core/src/Managers/ReducerManager.ts#L52
          persistReducer(
            {
              key: '2019_12_16',
              storage,
              whitelist: ['user_session'], // or whatever reducer may appear later
            },
            combineReducers(reducers as any)
          ) as any,
      },
      mandatoryInitialModule
    )

  const persistor = persistStore(store)

  return { store, persistor }
}

then:
// App.tsx
import React from 'react'
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist'
import { createStore } from './createStore'

const { store, persistor } = createStore()

const App = ({ children }: any) => (
  <Provider store={store}><PersistGate persistor={persistor}>{children}</PersistGate></Provider>
)

export default App

As mentioned by @MegazeroMZ, you need that initial mandatory reducer to fake PersistGate default behaviour, otherwise you'll se an infinite loading screen. As for creating an extension for it, dynamic-modules should expose an API for the store, because right after inserting and extension we must call persistStore and save the persistor somewhere.

any update?
I also encountered the same problem. After dynamically registering the module, I can no longer write to the local cache.

found a solution
import { persistCombineReducers } from 'redux-persist'

export const advancedCombineReducers = (reducers) => persistCombineReducers(PersistConfig, reducers)

and register a redux-saga watcher: call persist when 'moduleAdd' and 'moduleRemove' action called
function * watchDynamic () {
  yield takeEvery(['@@Internal/ModuleManager/ModuleAdded', '@@Internal/ModuleManager/ModuleRemoved'], function * () {
    persistor.persist()
  })
}

Here is another solution, based on the responses given by @olabala and @leonardofalk:

Go where you are creating the dynamic store root configuration:

import { createStore as createDynamicStore } from "redux-dynamic-modules";

...

export const store = createDynamicStore(
  {
    ...,
    advancedCombineReducers: (reducers) =>
      persistCombineReducers(
        {
          key: "root",
          storage,
          whitelist: [],
        },
        reducers
      ),
  },
  initialModuleWithReducer() // <= this is mandatory!
);

export const persistor = persistStore(store);

Go to your root component where you are using <Provider> (generally App), and use the persistor variable created previously:

<Provider store={store}>
        <PersistGate persistor={persistor}>
        {children}
        </PersistGate>
</Provider>

In the module you want to lazy load, add the following inside the dynamic module configuration:

export function moduleConfig() {
  return {
    id: "the-module-slice",
    reducerMap: {
      "the-slice": persistReducer(
        {
          key: "the-slice",
          storage,
          whitelist: ["draft"] // if you want to save a specific piece of your slice. In this case, draft belongs to "the-slice" part of the store
        },
        rootReducer
      ),
    },
    ...
  };
}

In the module you want to lazy load Create a new saga listener, to the actions that redux-dynamic-modules triggers when a module is added/removed. this way, it can call the persist action explicitly:

export function* rootSaga() {
  yield all([watchDynamicReduxModules()/* ... other sagas.... */]);
}

function* watchDynamicReduxModules() {
  yield takeEvery(
    [
      "@@Internal/ModuleManager/ModuleAdded",
      "@@Internal/ModuleManager/ModuleRemoved",
    ],
    function* () {
      persistor.persist();
    }
  );
}

Leave me a reaction/comment to know if the same strategy works for you, so maybe it could be a workaround while the official plugin is released.

Hi
If someone needs this feature I have created a repo to make your dynamic modules persistable.


fix: write script to run both frontend and backend at same time issue#11

Summary
This PR aims to improve the convenience for users when setting up and running a project. It includes changes to the package.json file, specifically in the scripts section, to streamline the installation of dependencies and the concurrent startup of both frontend and backend components of the project. Additionally, the README.md has been updated to provide clear instructions for new contributors, and a note has been included about this being the first contribution by the author, with a request for feedback.
Description
In this PR, I have made the following changes to the package.json file to enhance the developer experience:
Added the "ins" script: The "ins" script combines the installation of dependencies for both the frontend and backend, followed by the simultaneous start of both components. This eliminates the need for users to install "concurrently" separately.
{
"dependencies": {
"concurrently": "^8.2.2"
},
"scripts": {
"start-frontend": "cd frontend && npm run dev",
"start-backend": "cd backend && npm start",
"start": "concurrently "npm run start-frontend" "npm run start-backend"",
"install-frontend": "cd frontend && npm i",
"install-backend": "cd backend && npm i",
"ins": "npm run i && npm run install-backend && npm run install-frontend"
}
}
This simplifies the setup process, ensuring that users can get started with the project without the need to manually install "concurrently."
Furthermore, I have updated the README.md with detailed instructions to guide new contributors in setting up and contributing to this project. As a first-time contributor to an open-source program, I would greatly appreciate feedback and guidance from the community.
Images
N/A
Issue(s) Addressed
Closes #11
Review Checklist
Please make sure to go through this checklist before submitting your review.

[x] Make sure the PR title is of format tag: Issue Title

tag should be one of fix,feat, docs, chore, refactor
Ex: feat: Added responsive design for the home page

[x] Ensure the code follows our coding standards and guidelines

Ex:  naming conventions should be of form file-name.ts not fileName.ts

[x] Ensure that you have staged only the required commits and raised the PR and not included all the files which would be otherwise required for local setup
[x] Check if the PR is rebased to the latest main/development branch.
[x] Make sure there are no unnecessary files or debugging artifacts in the PR.

@jjinendra3  is this command tested ? deleting all the node modules ?

@jjinendra3 is this command tested ? deleting all the node modules ? Kindly let us know here, post that will merge the PR :)

all the commands that were in the package.json in the root directory are tested twice and there are no issues in it, works perfectly fine!

@jjinendra3 Thank you for the confirmation :)


Bug 462 api not possible to get plan content

Fixes #462:  Open API - not possible to get the content, plans throwing error
Changes proposed in this PR:
- Reverted to replacing customised plans() method on Org model with
the native plans() method.
- Created a new org_admin_plans() method in Org model to replace old
customised plans() for Org Admins. This picks up plans of users in Org
that are co-owners of plans with plan.org_id of a different org.
- Fixed a null pointer bug that broke the json output ig the Data contact was empty app/views/api/v0/plans/index.json.jbuilder.
- Renamed method calls in case of Org Admins that used org.plans() to org.org_admin_plans().

This is just to start conversation, as it will need critiquing.

thanks for patching this @johnpinto1. Agree with Ray, just need to clean up those few tests. I'm guessing they may just need to be updated to use your new method instead of org.plans

Fixing tests are proving trickier than expected. May take a day or two.

@raycarrick @briri There change breaks these 3 tests in org_rspec.rb after changing subject to use org_admin_plans(). Incidentally, it fails with native plans() too. This is because the native plans() method plans are now added to org_admin_plans(). Advice required on how to proceed.
Failed examples:
rspec ./spec/models/org_spec.rb:405 # Org#plans user belongs to Org and plan user with role :commenter, but not :creator and :admin is expected not to include #<Plan id: 1, title: "utilize B2B vortals", template_id: 1, created_at: "2021-07-08 09:12:58", update...ant_id: nil, start_date: "2021-07-08 09:12:58", end_date: "2023-07-08 09:12:58", api_client_id: nil>
rspec ./spec/models/org_spec.rb:395 # Org#plans user belongs to Org and plan user with role :editor, but not :creator and :admin is expected not to include #<Plan id: 3, title: "synergize cross-platform markets", template_id: 3, created_at: "2021-07-08 09:1...ant_id: nil, start_date: "2021-07-08 09:12:58", end_date: "2023-07-08 09:12:58", api_client_id: nil>
rspec ./spec/models/org_spec.rb:415 # Org#plans user belongs to Org and plan user with role :reviewer, but not :creator and :admin is expected not to include #<Plan id: 4, title: "deliver enterprise e-commerce", template_id: 4, created_at: "2021-07-08 09:12:5...ant_id: nil, start_date: "2021-07-08 09:12:58", end_date: "2023-07-08 09:12:58", api_client_id: nil>
Relevant tests:
describe "#plans" do

    let!(:org) { create(:org) }
    let!(:plan) { create(:plan, org: org) }
    let!(:user) { create(:user, org: org) }

    subject { org.org_admin_plans }

....

context "user belongs to Org and plan user with role :editor, but not :creator and :admin" do

      before do
        plan.add_user!(user.id, :editor)
      end

      it { is_expected.not_to include(plan) }

    end

    context "user belongs to Org and plan user with role :commenter, but not :creator and :admin" do

      before do
        plan.add_user!(user.id, :commenter)
      end

      it { is_expected.not_to include(plan) }

    end

    context "user belongs to Org and plan user with role :reviewer, but not :creator and :admin" do

      before do
        plan.add_user!(user.id, :reviewer)
      end

      it { is_expected.not_to include(plan) }

    end

  end

@raycarrick-ed @briri I fixed the tests. But I have a worry now all the tests for plans in spec/models/org_spec.rb
expect plans to be found. For these contexts:

"when user belongs to Org and plan owner with role :creator"   (Previously, did not include plan)
"when user belongs to Org and plan user with role :administrator"
"user belongs to Org and plan user with role :editor, but not :creator and :admin"
"user belongs to Org and plan user with role :commenter, but not :creator and :admin" (Previously, did not include plan)
"user belongs to Org and plan user with role :reviewer, but not :creator and :admin"  (Previously, did not include plan)

thanks @johnpinto1. I think its ok to update these tests to reflect the changes you have made. Those tests were written back in 2018.

@briri Thanks for update. @raycarrick-ed  I believe this is now complete. So either merge.


How to build / get TestServer from WebApplicationFactory?

In 2.2, we can construct TestServer from WebApplicationFactory this way:
public class CustomWebAppFactory : WebApplicationFactory<Startup>
{
    IWebHostBuilder webHostBuilder = new WebHostBuilder();
    ConfigureWebHost(webHostBuilder);
    TestServer = new TestServer(webHostBuilder);
    protected override void ConfigureWebHost(IWebHostBuilder builder)
    { ... }
}

Since WebHostBuilder is going to be deprecated, how to build the TestServer in 3.0?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 76f39eec-9dd1-6167-56ec-47b26e0b5063
Version Independent ID: f9f2b0f3-01eb-cf58-8767-194fe0fc0e44
Content: Migrate from ASP.NET Core 2.2 to 3.0
Content Source: aspnetcore/migration/22-to-30.md
Product: aspnet-core
Technology: aspnetcore-migration
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@javiercn  please respond

There is a factory.TestServer property you can use, that hasn't changed.

I mean the services added into the DI for use by the TestServer. I remeber I used the TestServer from WebApplicationFactory but lack of the services required and that's how I ended up new TestServer(webHostBuilder) and used that.

(TestServer)factory.Services.GetRequiredService<IServer>()


User Feedback

Description:
Currently, there's no way for users to provide feedback or report issues within the application.
Tasks:

[ ] Implement a feedback form where users can submit their feedback or report issues.
[ ] Create a backend service to collect and store user feedback.
[ ] Add a section in the application where users can view responses to their feedback (if necessary).

Additional Information:

The feedback form should capture essential information but remain user-friendly to encourage more users to provide their feedback.
Any number of the above tasks can be solved independently.

Hi @Dv04, I would like to work on this issue, would you be able to assign me this please?

Hi @Dv04, I would like to work on this issue, would you be able to assign me this please?

Hey @Lakshikuga, glad to have you with us.


Stream larger chunks of audio

The player splits text sentence-by-sentence, and renders those to speech. It does this so that content is streamable and navigable.
However, the speech synthesis isn't as good.
Would it be possible to stream the audio chunks from openai, and somehow rethink the navigation chunks within the paragraph?

Or at least preload future sentences in the background, to reduce loading times.

@Calorion the plugin currently buffers 3 sentences ahead. Were you seeing delays between sentences?

Yes, occasionally, but if you're already buffering three sentences ahead, that's probably all you should do.


[Task]: Fix playground header section layout

What needs to happen?
Playground header section buttons form the second row, break layout on resolutions between 1025px and 1150px. Should be fixed.

Issue Priority
Priority: 3
Issue Component
Component: beam-playground

.take-issue


changeMonth(x) will display wrong date if the x >12

Expected Behavior

Expect the calendar to display correct date and year.
Current Behavior

The calendar display correct month however the year is incorrect.
Steps to Reproduce (for bugs)

1.use changeMonth(x) on any flatpickr instance
2.when x > 12, both the month and the year increased.For example when x = 14, the calendar display March 2020 instead of March 2018.
Your Environment

Version used:v2.3.4
Browser Name and version:Chrome and Safari
Operating System and version (desktop or mobile):Mac OS El Capitan and iOS 10

Just found a temporary solution if you increase month by x
for(let i = 0;i<x;i++){
                flatpicker.changeMonth(1);
            }


README.md - add installation and pre-requisites

prerequisite https://github.com/redhat-developer/ocdev/pull/92
it refers to packages generated by travis

Thank you for reviews.
I'm merging it, as this is a big improvement compared to what we have right now.
It is not perfect, we will continue to work on it and we will keep improving it.


[Event Request] codeunit 48 PostingSetupManagement - OnBeforeCheckVATPostingSetupSalesAccount

new event in codeunit 48 PostingSetupManagement
procedure CheckVATPostingSetupSalesAccount(VATBusGroupCode: Code[20]; VATProdGroupCode: Code[20])
var
    VATPostingSetup: Record "VAT Posting Setup";
    IsHandled: Boolean;
begin
    OnBeforeCheckVATPostingSetupSalesAccount(VATBusGroupCode, VATProdGroupCode, IsHandled);
    if IsHandled then
        exit;

[IntegrationEvent(false, false)]
local procedure OnBeforeCheckVATPostingSetupSalesAccount(VATBusGroupCode: Code[20]; VATProdGroupCode: Code[20]; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Fix ktx cubemap size calculation

Change was introduced by commit #63 (b8a7a90)

This still doesn't work for KTX files generated with toktx which show the following ktxinfo:

Header
identifier: «KTX 11»\r\n\x1A\n
endianness: 0x4030201
glType: 0x1401
glTypeSize: 1
glFormat: 0x1907
glInternalformat: 0x8c41
glBaseInternalformat: 0x1907
pixelWidth: 1024
pixelHeight: 1024
pixelDepth: 0
numberOfArrayElements: 0
numberOfFaces: 6
numberOfMipLevels: 1
bytesOfKeyValueData: 28
Key/Value Data
KTXorientation: S=r,T=d
Total data size = 18874368

I did a ktxinfo on all the KTX files in bgfx/examples/runtime/textures and they are all invalid with the message:

The KTX 1 file pHeader is invalid:
it describes a 3D array that is unsupported

I assume these files were created with BIMG and the issue seems to be:

pixelDepth: 1
numberOfArrayElements: 1

I checked some of the BGFX examples that use these invalid KTX files and they are working implying the current BIMG logic only works with invalid files.
If I comment out:

BX_ASSERT(size == imageSize, "KTX: Image size mismatch %d (expected %d).", size, imageSize);

or change:

const uint32_t size = mipSize * numSides;

back to the previous version of src/image.cpp, my KTX files (generated with toktx) work just fine.
Recommend undoing pull request #64 until this is sorted out. BTW: is there a way to load cubemaps in BGFX from 6 separate images instead of having to create these KTX files?

Recommend undoing pull request #64 until this is sorted out.

Agreed. I would be better to not have bimg only use numLayers > 0 for layered textures and depth > 0 for 3D textures.

BTW: is there a way to load cubemaps in BGFX from 6 separate images instead of having to create these KTX files?

bgfx::updateTextureCube() takes data face by face.

@goossens Where did you get this ktxinfo tool?

@bkaradzic its one of the tool from Khronos KTX SDK https://github.com/KhronosGroup/KTX-Software

@bkaradzic The Khronos KTX SDK also includes the "toktx" tool that I used to create my cubemaps.
@goodartistscopy Thanks for the hint on "updateTextureCube", it works like a charm even though it appears slow. I need to figure out why.


feat: managing notifications from within custom components

Add a description in the Examples/Custom Components Examples section
Closes #104

wrong commits


Navbar Getting Fixed at Top

The navbar is getting fixed on the top and not showing the content of the page. I can solve this issue.
@codervivek5 Please assign me this issue. Please add gssoc-ext and hacktober-accepted labels.

Can you assign the level for this issue

@codervivek5 Can you assign the level for this issue

I have assigned you... You can start contributing

@codervivek5 Ok, thanks you for assign me

@codervivek5 I have fixed the navbar issue please merge it

Please merge my PR

@codervivek5 i have a solution for this please assign to me so that i could fix this

@codervivek5 Please sir merge my PR


Update .gitignore for venv, fix PEP 8

The original focus of this PR was to add additional files to .gitignore. Then I started fixing the different build steps so that we have passing builds.
Along the way, by fixing the flake8 errors. I became more familiar with the code and how it runs. I really like reading the code, I'm learning a lot!
To run all checks locally
$ pip install tox
$ tox

To run flake8 locally
$ pip install tox
$ tox -e codestyle

To run bandit locally
$ pip install tox
$ tox -e securityaudit

Thanks for going through the code and fixing the pep8 stuff.
Also I see you put together the test. I wasn't sure if would work as a test because it pulls from MAST and writes a few files, can we assert that the files were written?  Maybe it just shouldn't be part of the automated testing??
I'm glad you are able to read through the code, it desperately needs more doc strings.
I haven't run it, but I don't see anything wrong with what you did.

Thanks for going through the code and fixing the pep8 stuff.
Also I see you put together the test. I wasn't sure if would work as a test because it pulls from MAST and writes a few files, can we assert that the files were written?  Maybe it just shouldn't be part of the automated testing??
I'm glad you are able to read through the code, it desperately needs more doc strings.
I haven't run it, but I don't see anything wrong with what you did.

This pull-request has been canceled.


import decomp plots from assignment, update MANIFEST, fix column name…

… in example

DecompositionPlots import from SigProfilerAssignment now and not SigProfilerExtractor.
Example Sample.txt column name modified to "MutationType".
Expand the test script to include text and VCF file inputs.
Resolves issue with m_for_subgroups for SV and CNV inputs (closes #50).


wrong duration_ms round

time="2023-04-21T10:05:43+03:00" level=info msg=http_request duration=3.5987ms duration_ms=3 method=GET path=/api/schemas remote_addr=<IP_ADDRESS> status=200
time="2023-04-21T10:05:44+03:00" level=info msg=http_request duration=47.5313ms duration_ms=47 method=GET path=/api/objects remote_addr=<IP_ADDRESS> status=200

must be a 4 and 48 ms.
duration=3.5987ms: duration_ms=3 => duration_ms=4
duration=47.5313ms: duration_ms=47 => duration_ms=48

is you joke?
package main

import (
	"fmt"
	"time"
)

func main() {
	d, err := time.ParseDuration("1s.918573645s")
	fmt.Printf("d.Round(%s) = %s\n", time.Millisecond, d.Round(time.Millisecond).Milliseconds())
}

What is your point? Pgweb is not a type of application where reporting a difference in 1ms matters.

Why not display the correct number?

Pgweb is not a type of application where reporting a difference in 1ms matters.


Take trailing slash into account

Hi there, shot in the dark, but right now I don't get my language when I browser to /fr only when I go to /fr/.

Would this related to this bug?

mmh I'm not sure because you don't have a special trailingSlash configuration. Would you mind providing a minimal reproduction? (in a repository, there are issues with Stackblitz)

This is what I have so far: https://github.com/nojaf/astro-translations-repro

If someone wants to contribute this fix, please do! I don't have near plans to address it

Sounds reasonable, any pointers or steps on how one would debug or run this locally?


Camera sharing between two renderers

Hello,
I am really new in sigma.js.
I'm trying to do a minimap using the camera sharing between 2 renderers.
Here is the code:
const sigma = new Sigma(
	{
		settings: {
		zoomMin: 0.2,
		zoomMax: 4.9,
		minEdgeSize: 0.1,
		maxEdgeSize: 2,
		minNodeSize: 1,
		maxNodeSize: 20,
		labelThreshold: 0,
		labelSizeRatio: 1,
		labelSize: "proportional",
		defaultLabelColor: "#ffffff"
	    }
	}
);
const cam = sigma.addCamera();
sigma.addRenderer({
    container: document.getElementById(containerId),
    type: "canvas",
    camera: cam
});
sigma.addRenderer({
    container: document.getElementById(minimap),
    type: "canvas",
    camera: cam
});

The graph is not adjusted on the minimap because the size of this one is much smaller :

Desired display for the mini-map (without zooming) :

I would like to fit the graph correctly according to the size of the containers of the 2 renderers.
Is there a parameter to do it?

@vmanohisoa - Did you ever figure this out?

It should be noted that upcoming v3 (currently in alpha on npm if you feel adventurous) will have a #.setCamera method that makes possible sharing a same camera across renderer instances.

Morning,
Thanks for the answers!
@RouxRC - We have already done this and it works as intended. What we are struggling with right now is having a custom  box following the camera view from the main renderer. As illustrated in below picture, the box is slightly off from the camera view. I suspect this has something to do with the coordinates and camera ratio.

@Yomguithereal - exciting about v3. I may be adventurous and try this out to see if we get any advantages switching from 2.2 to v3-alpha.

Ha great @AlexanderFalk , I was gonna tell you I felt like such a moving box over a fixed network would make more sense in my opinion but that it would be a bit more complex to do! personnally to avoid complexity I would force the minimap to always have the same ratio as the main one.
Regarding the y axes this is "normal" : graph vertical coordinates are flipped indeed, for historical reasons I believe. @yomguithereal has started documenting the different coordinates involved in sigma here https://github.com/jacomyal/sigma.js/blob/v3/docs/coordinate-systems.md

More than historical reasons, this is because we follow WebGL's standard regarding camera because this makes it easier to reason about it using matrices & transformations and because it makes it easy to transpose operations done in the vertex shader on the CPU side. But this is also adding a layer of confusion vs. 2d canvas coordinates system yes ¯_(ツ)_/¯

Hey @Yomguithereal and @RouxRC ,
Maybe you can help us out with a problem, since we are quite stuck at the moment.
As seen in below picture, this is what I got right now:

At first state it works. The box (child camera) follows the correct movement of the parent camera. Not 100% aligned with the middle but we are getting close.
The code to achieve this looks as following:
setZoomBox(canvas: HTMLCanvasElement, x: number, y: number, ratio: number) {
    if (this.customBox) {
      this.customBox.clearRect(0, 0, canvas.width, canvas.height);

      const percentage = ratio * this.ratioMultiplier;
      this.xDelta = this.boxStartingPointX - (x * 100 * (3 + (x / (1 + ratio) )) );
      this.yDelta = this.boxStartingPointY - (y * 100 * (3 + (y / (1 + ratio)) ) );
      this.customBox.strokeRect(
        this.boxStartingPointX - this.xDelta,
        this.boxStartingPointY + this.yDelta,
        (percentage * canvas.width) / 100,
        (percentage * canvas.height) / 100,
      );
    }
}

Where we are figurering out the delta after zooming in / out (not pretty).
Note: the ratioMultiplier is 10, and the startingPoints are both 150.
When we move one node around (changing the bbox), the minimap no longer works as intended:

I understand why it does not work but I cannot seem to figure out how to fix this.
I hope you can help us out.
Best regards

At first state it works. The box (child camera) follows the correct movement of the parent camera. Not 100% aligned with the middle but we are getting close.
The code to achieve this looks as following:

your code has already been integrated to main/master?


Detect compass being out of whack and show how to calibrate

Done in 1.8.4.  Could look nicer though.


Cannot use the plugin zotero-better-bibtex v6.7.173 in JurisM Standalone 6.0.22m4

Debug log ID
qudmeY6m1SBz-VNW79D93
What happened?
Hello,
Thanks for your great work!
Some times ago was a problem #475
Today I think hove the same problem:
I can't install the pluggin zotero-better-bibtex v6.7.173 in JurisM Standalone 6.0.22m4.
I get the following error message: "Better BibTex for Zotero is incompatible with Zotero 6.0.22m4. Better BibTex for Zotero (disabled)."
I hope you can help!

BBT isn't compatible with Juris-M anymore, Juris-M stalled for a while and has fallen behind too far behind zotero for BBT to support both. I think I've heard Juris-M has picked up development on a 7-compatible version, which bbt would support, but I have no idea where that stands.

OK, Thank you.
Will be waiting new version of Juris-M.

How to get the log for BBT in Juris-M?

How to get the log for BBT in Juris-M?

No need


Indicate the modern ebpf probe as the preferred deployment method for Falco

/area documentation
What would you like to be added:
I'm noticing that the modern ebpf probe is still not widely known among users. There are cases in which using the modern probe could solve issues without any burden, but it seems users are not aware of its existence (e.g. https://github.com/falcosecurity/falco-website/issues/1135#issuecomment-1874236060). So I propose to put the modern ebpf engine as the preferred installation method all around the documentation so: helm chart, docker, deb/rmp, tag.gz.
Always in this direction, it could be useful to have a step-by-step tutorial on how to react to a Falco failure and change the running driver setting the modern bpf. This could be a simple example:

try to install falco with helm chart + legacy ebpf
it doesn't work out of the box, because the pre-built driver is missing
show how to check and read the logs to understand what is happening (why Falco is crashing)
change the driver in the helm chart and using the modern-ebpf
show that all works as expected with a simple rule triggered

This sort of tutorial could help in cases like this: https://github.com/falcosecurity/falco/issues/2982
More in general having a dedicated page in the doc where we explain what to do when users face certain errors would be amazing, for example it could avoid issues like this: https://github.com/falcosecurity/falco/issues/2989
TL:DR;

Set the modern ebpf probe as the default installation method in the doc
Have a sort of step-by-step tutorial on how to migrate from old drivers to the modern bpf, explaining why the modern bpf works
Have a general documentation page with the most frequent error messages and what to do to recover, we can use this issue as an initial reference https://github.com/falcosecurity/falco/issues/2873

+1
Taking it one step further, make modern_ebpf the default driver as it's a significant overhead for us maintainers to assist adopters in debugging when Falco is not starting up.
I think by now for the most part folks getting started with Falco are likely to try Falco on newer kernels. Folks who still need to support older kernels are probably more familiar with kernel dev etc and should be able to understand a clear error message stating that you need to use either the ebpf or kmod driver. More thoughts? We can move this to a dedicated discussion.

Also @Andreagit97 in fact we need more dedicated "debugging" guides:
Help (located under Install and Operate)

Help, Falco is Dropping Events (-> Melissa as suggested by @FedeDP in a recent slack thread, this would be a combination of expanding https://falco.org/docs/install-operate/production-performance/ where I was thinking of explaining metrics better and index all supported metrics fields)
Help, Missing Container Images
Help, Missing or Empty Fields
Help, Falco is Not Starting (you suggested guide)

How would you all like such an outline?

Taking it one step further, make modern_ebpf the default driver as it's a significant overhead for us maintainers to assist adopters in debugging when Falco is not starting up.

I think by now for the most part folks getting started with Falco are likely to try Falco on newer kernels. Folks who still need to support older kernels are probably more familiar with kernel dev etc and should be able to understand a clear error message stating that you need to use either the ebpf or kmod driver. More thoughts? We can move this to a dedicated discussion.

it makes sense to me! it would be great to have some stats on how many users are using the modern ebpf probe today, just to have an idea of the possible impact, but I'm not sure how to obtain this information, maybe we can try with a poll on the Falco channel...WDYT?

Also @Andreagit97 in fact we need more dedicated "debugging" guides:

I Like it very much!! Fully on board!

Awesome, yes a poll in the channel would be great!
Perhaps at first we can keep kmod in the falco.yaml, but at least we enable Falco by default in the helm chart.
Another possibility could be to fallback to kmod (the old default) when modern_ebpf is not supported by the system? kmod seems the best fallback choice as it has the widest support range. Of course ebpf could be the last attempt if conditions for kmod are not met, e.g. DKMS and such.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

The first point should be in place!
/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale


add tail call optimization

 a call that branches to the return block on success could be TCO'd

@eddyb pointed out on IRC that this would destroy stack traces.
I think we should have a debug/release mode concept for Miri as well. (@eddyb called it fast mode and tracking mode.)

Well, what I mean is that you can run both in succession: if you rarely expect failures, and it's measurably faster not to track debug information, you can re-run on failure to get stack traces, taint analysis and other goodies.
That is, for deterministic use. But one interesting thing is that you can have a third mode: recording only non-determinism (i.e. I/O). Like rr, but specialized to whatever miri will support.

@eddyb Interesting idea. Determinism allows for some neat features.

@oli-obk is this still a useful ticket to keep open?

I think the taint analysis and leak analysis would still be helpful. Leak analysis is pretty easy, we just need to make allocate take a Span and put that Span into the Allocation extra data.
Taint analysis seems harder, since you would have to find a way to store the tag information in integers and other Immediate values.

With all the perf projects that @saethlin come up with and carried through, and all the reproducability issues we have with rerunning, I think we can just close this and keep focussing on finding other ways to speed up miri.


How to use with supertest

Hey there,
I wonder if there is a way to use supertest to test the graphQL endpoint.
I did not find a way to expose the http object for test, like supertest wants it : https://www.npmjs.com/package/supertest
Is there a way ? Because with Jest i cannot bind the server app on any port.

For those who may wonder, i used to make it work this way :
async function app(): Promise<GraphQLServer> {
  const schema = await getSchema();

  const server = new GraphQLServer({ schema });
  server.use('/health', healthController);
  server.use('/version', versionController);

  return server;
}

// and in my tests
const server = (await app).createHttpServer({});
const req: any = request(server)
  .post(url)
  .set('Accept', 'application/json');

And it work for both express and gaphql server middlewares

@DavidBabel But how does the server know where to serve the graphql endpoint from?
I tried
(await app).createHttpServer({ endpoint: '/graphql' })

But the supertest request cannot find anything at /graphql.

Here us what we use as utils :
import * as request from 'supertest';
import app from '../app';

interface IRequestResponse {
  errors: any[];
  data: object;
}

export async function getAPIResponse(
  query?: string
): Promise<IRequestResponse> {
  const server = (await app).createHttpServer({});
  const res = await request(server)
    .post('/')
    .set('Accept', 'application/json')
    .send({ query })
    .expect(200)
    .expect('Content-Type', /json/);

  return res.body;
}

@DavidBabel how to include the validationRules and formatError in supertest? As these options are passed to the start method, is there a way to include them in tests?