Potential Bug in the Python Wrapper Generating Access Violation Error

Required Info

Camera Model
D4435i & L515

Firmware Version
<IP_ADDRESS> & <IP_ADDRESS> respectivly

Operating System & Version
Win 10

Platform
PC

SDK Version
v2.36.0

Language
python

Issue Description
I found a potential bug in the python wrapper.
I've created a simple code to demonstrate it and recreate the problem:
import numpy as np
import pyrealsense2 as rs2

def capture_frame() -> rs2.depth_frame:
    pipe: rs2.pipeline = rs2.pipeline()

    config: rs2 = rs2.config()
    config.enable_stream(rs2.stream.depth)

    pipe.start(config)
    try:
        for _ in range(30):
            pipe.wait_for_frames()

        frame: rs2.composite_frame = pipe.wait_for_frames()
        return frame.get_depth_frame().as_depth_frame()
    finally:
        pipe.stop()

def capture_to_pointcloud() -> np.ndarray:
    frame = capture_frame()
    thresh: rs2.threshold_filter = rs2.threshold_filter(max_dist=0.9)
    frame = thresh.process(frame)
    pc: rs2.pointcloud = rs2.pointcloud()
    points: np.ndarray = np.array(pc.calculate(frame).get_vertices())
    points = np.array([(x, y, z) for (x, y, z) in points if not x == y == z == 0])
    return points

if __name__ == '__main__':
    points = capture_to_pointcloud()
    print(points)

Running this code will generate the following error: Process finished with exit code -1073741819 (0xC0000005).
This error number represents an access violation error (as much as I know).
Running in debug mode reveals that the code crushes in line 27:
points: np.ndarray = np.array(pc.calculate(frame).get_vertices())

To be more exact, the crushing code is:
pc.calculate(frame)

After trying to fix the code I was able to fix it by moving the creation of the config object outside the capturing function:
def capture_frame(config: rs2.config) -> rs2.depth_frame:
   # Same code

   # This is no longer necessary
   # config: rs2 = rs2.config()
   # config.enable_stream(rs2.stream.depth)

def capture_to_pointcloud() -> np.ndarray:
   config = rs2.config()
   config.enable_stream(rs2.stream.depth)
   frame = capture_frame(config)
   # Same code

Now the code will work correctly.
My speculation is that because the python garbage collector is based on reference counting, the config object is being deleted (because it is getting out of scope) while another real-sense object is pointing to it (Or some data inside it) and thus an access violation error is created, as the error number suggests.
To be more exact: the problem (I assume) is the wrapper not accounting for native pointers because I am thinking some native code in another real-sense object (probably the point-cloud object) is using native data in the config object but the python GC deleted it already.
I hope this helps,
If I said anything wrong please correct me.

@amitelle1337 Sorry that I couldn't reproduce the issue with your code. Does this issue happen for every execution or just sometimes? Looking forward to your reply. Thanks!

I've done a couple more tests, just to make sure, and it seems the I can reproduce the issue only when running it from pycharm; Running it from the terminal is fine.
I guess the problem is with pycharm and not the library itself.
Also, I've updated everything on my machine, so the new specs would be:

Specs

Camera Model
L515

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Platform
PC

SDK Version
<IP_ADDRESS>3

Language
python (numpy v1.19.2, pyrealsense2 v<IP_ADDRESS>5, pycharm v2020.2.2)

Yet the problem stays but only when running it from pycharm.
I guess I misinterpreted the issue and it's a problem with pycharm, not sure why though.
Just to be clear, I am not getting a python exception, I am only getting the following message: Process finished with exit code -1073741819 (0xC0000005), as I said in the issue description.
This means (I think) Pycharm/OS killed the process because of access violation.

@amitelle1337 Thank you for your update! So I understood it's not librealsense issue. Can we close this? Thanks!

Yes, I think we can close this one. 😄

@amitelle1337 Thanks for your confirmation! Close it accordingly.


Documentation typo in protocols.txt: "boot" should be "boat"

Line 106 reads:

And a simple 16x8 boot icon look like this:

It should be:

And a simple 16x8 boat icon look like this:

Nice spotting, thanks Kevin :)


Issue #618: Disable working-copy of drupal core by default

Travis gets a bit faster too

Disable Working Copy
Without git
Without git verification

9m 12s
8m 41s
8m 15s

10m 17s
8m 35s
9m

10m 40s
9m 33s
9m 35s


v2.1.0 [ERROR] No loader is configured for ".gitignore" files: .gitignore

Describe the bug
All my suites fail with
vitest --retry 2 --logHeapUsage --coverage.enabled true --coverage.provider istanbul --coverage.all false --pool threads --sequence.hooks parallel --shard 1/3
✘ [ERROR] No loader is configured for ".gitignore" files: .gitignore
failed to load config from /builds/stordata/cmdb/frontend/app-react/.gitignore
⎯⎯⎯⎯⎯⎯⎯ Startup Error ⎯⎯⎯⎯⎯⎯⎯⎯
Error: Build failed with 1 error:
error: No loader is configured for ".gitignore" files: .gitignore
at failureErrorWithLog (/builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:1472:15)
at /builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:945:25
at runOnEndCallbacks (/builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:1315:45)
at buildResponseToResult (/builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:943:7)
at /builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:970:16
at responseCallbacks. (/builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:622:9)
at handleIncomingPacket (/builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:677:12)
at Socket.readFromStdout (/builds/stordata/cmdb/frontend/node_modules/esbuild/lib/main.js:600:7)
at Socket.emit (node:events:514:28)
at addChunk (node:internal/streams/readable:376:12) {
errors: [Getter/Setter],
warnings: [Getter/Setter]
}
This is a monorepo with Vitest projects, using Vitest at the root of the monorepo with the command shown above. This happens when upgrading through a Renovate PR.
Thanks,
David
Reproduction
I will try to set this up tomorrow morning (Paris time)
System Info
Will do tomorrow too

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

You probably have miscofigured workspace config file

Thx for your response. My workspace config file is as simple as
vitest.workspace.json
["app-react/*"]

And worked fine until then. Should I change something?

I just double checked the doc and I'm doing exactly as documented, I have several folders, each one is a vite project.
I indeed also have a .gitignore file in there but Vitest was ignoring it until then. If that's something that was supposed to not work in previous versions you probably should mention this in the doc.
What's your thoughts on this?
Thx,
David

same issue.The message is "No loader is configured for .DS_Store"

Alright guys, I changed my workspace configuration to
["app-react/*/vite.config.js"]

And Vitest started picking the tests as usual :+1:
I still think that this looks like a breaking change, even though it was not supposed to work previously.
Keep up the good work !
Cheers,
David


Display Nr of waiting/ready jobs to execute in the experiment summary or experiment treeview/graph

In GitLab by @jberlin on Feb 9, 2023, 15:14
Based on what was discussed in issue 893 we need a visual hint to indicate the current the maximum concurrent jobs  setting defined for the experiments and indicate how many are currently waiting, a sample message proposed by Dani to indicate could be:
"Some ready jobs from platform:{platform_affected} are not being submitted due to the experiment total_jobs and max_waiting_jobs constraints, they will be submitted once current jobs finish their execution"
We need to find a proper place in the GUI to indicate this (a label in the treeview or the graph)
@mcastril @dbeltran @mgimenez

In GitLab by @bdepaula on Feb 27, 2023, 10:02
Hi @jberlin

this is totally new in this version or there were before an UI ?

The Vue.js UI and controlling the workflow via the UI are features available in Cylc since mid 2021, I believe.
I started working on the Vue.js UI for Cylc back by the end of 2018, and we had a working prototype in April 2019. The 8.0a1 (alpha1) was released in 2019, the first beta 2 years later, in Q1 2021.
At that time you could already manipulate experiments/workflows and change statuses, start, stop, pause, via mutations in GraphQL. Since then they have been adding more features to the UI and I think they are now preparing 8.1 (or it could have already been released, I think).

In GitLab by @jberlin on Feb 27, 2023, 09:10
Hi @bdepaula , nice explanation, this is totally new in this version or there were before an UI ? this new version allows the user to manipulate the experiment such as change statuses of jobs, edit configs, etc ? thanks!

In GitLab by @mcastril on Feb 10, 2023, 21:22
Independently of the message what we decided was to show an indicator pointing always the number of active and total tasks.

In GitLab by @mcastril on Mar 1, 2023, 12:27
In this case we aim for a simple status bar showing the global status and the limits.

In GitLab by @bdepaula on Feb 27, 2023, 08:40
In case we need some inspiration for this, here's the Cylc UI (Vue.js) showing some of the tree & graph view elements.

And about the statuses, it would be interesting to do a deeper comparison of task/job statuses used in AS, ecFlow, and Cylc. Tasks in Cylc have the statuses “waiting” (waiting on prerequisites) and “preparing” (job being prepared for submission) (see other task statuses here. Not sure if AS & ecFlow have the same statuses.

There are also task modifiers to show that something could not start due to the queue limits:

In GitLab by @bdepaula on Mar 6, 2023, 16:44
I couldn't find a list or table with the possible statuses for a job in Autosubmit. Do you know if we have one in our docs, @dbeltran ?
@mcastril I tried mapping the statuses among AS, cylc, and ecFlow. I will review it some other day when I have spare time (need to dig into the code/docs to confirm if queued means the same in both tools).
Docs:

Cylc: https://cylc.github.io/cylc-doc/stable/html/user-guide/running-workflows/task-job-states.html#task-job-states
ecFlow: https://ecflow.readthedocs.io/en/latest/ug/user_manual/running_ecflow/status_of_a_task.html
Autosubmit: https://earth.bsc.es/gitlab/es/autosubmit/-/blob/master/autosubmit/job/job_common.py#L27-39 (source code)

cylc
ecFlow
autosubmit

status
status
status

unknown
unknown

waiting

waiting

preparing

prepared

submitted
submitted
submitted

queueing

queued
queued

running
active
running

succeeded
complete
completed

failed
aborted
failed

submit-failed

skipped

delayed

expired

held
suspended
suspended

runahead

(I will move this to another issue in Autosubmit: https://earth.bsc.es/gitlab/es/autosubmit/-/issues/966)

In GitLab by @mcastril on Mar 1, 2023, 12:26
@bdepaula I think our READY would be equivalent to preparing. We also have HELD and PREPARED (READY to be HELD).
Not sure about the purpose of Runahead.

In GitLab by @mcastril on Mar 24, 2023, 13:04
Thanks for this @bdepaula  . I don't think we have this documented, but @dbeltran can clarify it.

Preparing in Cylc would match to READY in Autosubmit.
I think QUEUING in Autosubmit would match queued in Cylc and ecFlow.
Is it HELD a job hold (queued but hold in SLURM?). In that case, it would be equivalent to HELD in Autosubmit


making pause button also freeze time in the simulation, and resume later

@ShroukAshraf @JamesWP let's catch up on this sometime later. Should this work be based on Shrouk's branch?

I believe it should be different branch  @Allegro-Leon-Li  what do you think and sorry for the delay


Dungeon Master Tools Scripts

Adds 3 new Scripts for DnD 5E

Dungeon Master Tools - This is a Framework script that allows creation of Class base Modules; it also handles auto setting the dead icon to tokens and awarding xp.
Barbarian - This class module extends the Dungeon Master Tools by adding actions for Barbarians; initially only the Rage action.
Paladin - This class module extends the Dungeon Master Tools by adding actions for Paladins; initially only the Lay on hands action.

In the script.json files, I'd suggest you prefix "D&D 5E" to the names of the APIs so they are more easily found with the other D&D 5E script.
Could also be nice to rename the Class Modules to signify their connection to the DM Tool API

Required a small refactor in the module registration, but something that I would have eventually done anyways.


[BUG] Only First Two Data Points Rendered in Line Chart

Expected Behavior

All data points should render without Chart.data.labels being set.
Current Behavior

Only first two data points render if Chart.data.labels is not set.
Steps to Reproduce (for bugs)

https://codepen.io/ericmschow/pen/OZrVEg

Context

I am trying to create a stacked line graph to show change over time in multiple components of product prices.
Environment

Chart.js version: 2.7.1
Browser name and version: Chrome 66.0.3359.139 (Official Build) (64-bit)
Link to your project: https://codepen.io/ericmschow/pen/OZrVEg

@ericmschow if you're not using labels, you'll need to set the x-axis to linear mode
https://codepen.io/anon/pen/MXbyrM


Can't find train.py or python files on repository

have you found something, i cannot get any py file neither. After a few hours i raised the issue, but the author closed it.


Invite Messaging

Proper messing using invites from VRCX to users with help from AtiLion https://github.com/AtiLion and GotoFinal https://github.com/GotoFinal

@Murkur This should be closed and all future discussions for this feature should go to https://github.com/pypy-vrc/VRCX/pull/12/files

I agree with what @Fusl said as chances of getting banned is slim to non but should still contain the warning for people that dont know any better or understand how vrchats API works
And yes I will be closing this ass gotofinal updated his pull request to reflect mine


killall servo either after or before a run

We have lots of cases of zombie servo instances being left around, killin' our machines. We should add something to buildbot that kablooies them.

This is happening automatically at the start of each build since commit d8955508eaf94aa235f682d08f78f6708b58d82e.


how can i tune the parameters that i can get a better result

hi,when i use ppf_3d_icp,i find the result is not so well.
i want to know what parameter i can tune
i only tune the rel_sample_dist and score_thresh,so that more points can be counted in estimator.
what else parameters can i tune,hope your reply.

What kind of model and scene point cloud you try to estimate? The results I submit in BOP challenge use object detection to crop object instance from origin input and only use the cropped object point cloud for pose estimation.
Sorry for lack of API document currently, but you can find all the params in python/py_pose_estimation.cpp related to PPF estimator. The typical param that has greatest impact of the performance isrel_sample_dist.

i did use the cropped object point cloud,i don't know whether if the quality of my object point cloud is not good .
the result is  in following images: the first image is the crop object,the second image is the ppf result.

The PPF estimator is not suitable for object with flat shape, but maybe you can try to set VotingMode to EdgePoints and see whether it would be better.

Close due to lack of discussion


Added more tests

Codecov Report

Merging #94 (4f287e3) into main (f52c50c) will increase coverage by 9.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #94      +/-   ##
==========================================
+ Coverage   72.18%   81.45%   +9.26%
==========================================
  Files           4        4
  Lines         532      593      +61
==========================================
+ Hits          384      483      +99
+ Misses        148      110      -38

Impacted Files
Coverage Δ

ddg_api.py
62.55% <100.00%> (+16.63%)
:arrow_up:

tests/test_ddg_api.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Allow to set the minimumSellVolumeInUsd to the sellBot

Adds an optional config param for sell bot, so you can specify a different amount for the minimun liquidity to start a new auction.
If not specified, it takes the value of the Smart Contract.
const SELL_BOT_MAIN = {
  name: 'Main seller bot',
  factory: 'src/bots/SellLiquidityBot',
  markets: BOT_MARKETS,
  accountIndex: MAIN_BOT_ACCOUNT,
  minimumSellVolumeInUsd: 1010,
  notifications,
  checkTimeInMilliseconds: 60 * 1000 // 60s
}

Pull Request Test Coverage Report for Build 1270

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
11 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 41.295%

Files with Coverage Reduction
New Missed Lines
%

src/repositories/AuctionRepo/AuctionRepoImpl.js
11
12.66%

Totals

Change from base Build 1260:
-0.2%

Covered Lines:
1707

Relevant Lines:
3895

💛  - Coveralls


Generate diff with onDelete and onUpdate

When I am generating diff for database that has onDelete = CASCADE, liquibase sees it, but doesn't add to changelog. It just creates drop constraint and add constraint without onDelete statement.
To solve this, I've added
addFkChange.setOnDelete(fk.getDeleteRule());
addFkChange.setOnUpdate(fk.getUpdateRule());

to ChangedForeignKeyChangeGenerator#fixChanged

Thanks!


Pinned tabs don't shrink in size

The label disappears but the tab remains at full size

This must be a regression from https://github.com/mozilla/tofino/commit/f885ceef1f0bad1978a9e113b936c6070a4765ae @victorporof

On it!

This landed.


Changed deprecated camelCase SQL function names to underscore format

Issue #281
My first PR ever. Let me know if something's wrong. I ran all the tests and samples.

Hi @adamante, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@adamante, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

Current coverage is 76.22%

Merging #312 into master will not affect coverage as of 31fbc9f

@@            master    #312   diff @@
======================================
  Files           41      41
  Stmts         4076    4076
  Branches       353     353
  Methods
======================================
  Hit           3107    3107
  Partial        148     148
  Missed         821     821

Review entire Coverage Diff as of 31fbc9f

Powered by Codecov. Updated on successful CI builds.

Hi @adamante.
For context, could you provide a cross reference link to the corresponding Spark Sql syntax changes and/or deprecation info in the Apache Spark docs?
Thanks,

@jthelin - https://github.com/apache/spark/commit/151d7c2baf18403e6e59e97c80c8bcded6148038

LGTM

Thanks for your contribution @adamante


Sprites for diapers not showing

I can't figure out what's wrong, but the diaper sprites do not show

How did you even get this to work? Is this on 1.6?


Improve buttom customizer page

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
@Bashamega I want to improve input fields and tabs of the button customizer page

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

U can work on it now

Thank you very much


Cannot read property '$$nextSibling' of null - delete directive from contenteditable

I understand that my issue could be a corner case. I have contenteditable div, which contains html with directives. As this is contenteditable, directives could be removed outside angular. However, I can observe changed in the DOM thanks to MutationObserver and if the particular directive is removed, I would like to make clean up (destroy scope, unbind events from element). However, when I call scope.$destroy() I get this error:
 Cannot read property '$$nextSibling' of null

and also
Error: [$rootScope:inprog] $digest already in progress

I prepared example of this behaviour:
http://plnkr.co/edit/lE5eFde73LYAgRr0hMoR?p=preview
I wonder if this issue is so specific that this is not possible to correctly clean up with contenteditable or this is bug in my code.

Is this browser OS specific? Try the plunker with Chrome 43/OS X and there is no error in the console.

Did you remove the directive from contenteditable ? The error is thrown when you removed directive from contenteditable and so the scope.$destroy() is called. I'm also using Chrome 43/OS X.

I simply do not know what I am looking at. Please create a minimal scenario with the least amount of extras

Ok, the simple scenario is:

Load the page http://plnkr.co/edit/lE5eFde73LYAgRr0hMoR?p=preview
Put the cursor before "other content"
Hit Backspace
The "edit directive" is deleted, the error "Cannot read property '$$nextSibling' of null" is thrown
Start write something, the error "Error: [$rootScope:inprog] $digest already in progress" is thrown

You are doing 2 things that are big no-no.
1/ Destroy a scope you did not create (in this case the scope the directive lives on
2/ Destroy a scope within a watches on the same scope
This aside, this is not a support forum and I would recommend that you use StackOverflow for help


[feat]: able to import/export products data

Please describe your wanted feature
Able to import and export products data
Additional context
N/A

Exporting works. Not sure what to do for importing yet, will come up with a solution soon


Feature Request: Ability to set variable due dates

It would be nice to have the option to be able to set the due date of all assignments x days before it is actually due.
I would imagine there could be two ways of having the actual due date incorporated either as a sub task or within the task name itself.

Great idea! would you expect such config to apply to all assignments or to be configured as a prompt upon adding individual assignments?

I could totally see both being valid approaches.
I personally have a cron job running this script on my server a few times a day, so I would prefer an option where no user interaction is required if a config for the date time shift is set somewhere.

For me, I would NOT want this because then the due date is not accurate - but I can see how it would be really cool if this was an option. The trouble is that current logic is based on due date and due dates are being updated based on what they are in canvas, so I don't think storing it somewhere else or making a subtask is a good option unless the logic is updated to track tasks based on something else.
One way this could be implemented would be to add some logic and config for a "date_skew" type parameter, and then modify all dates pulled from Canvas (before they're checked against Todoist or stored) by that amount. You could even just add this to the code and set the change to 0 by default.
That said, modifying dates in Python is a bit difficult if the dates aren't parsed in, which I don't think they currently are (we're just pulling, checking, and submitting values from one API to the other as far as I am aware).
Would love some further comments or thoughts on how this could be accomplished - it seems like a lot of work to me when you can instead just put a filter in Todoist for "Due in next 3 days" and work on keeping that done.

I'm going to close this for now, we can reopen if there is further interest. It would be a fair chunk of work to implement something like this and require tracking date/times in multiple places.
I'd recommend rejecting this as you can create a filter in Todoist for "Due in  days" which will show the tasks ahead of time based on what you configure, so you can work on that.


generate empty file when pass option -w

when the source file passed to gen command(with option -w) is like below:
// github.com/panjf2000/internal/netpoll/queue/queue.go
package queue

// Task is a asynchronous function.
type Task func() error

// AsyncTaskQueue is a queue storing asynchronous tasks.
type AsyncTaskQueue interface {
    Enqueue(Task)
    Dequeue() Task
    Empty() bool
}

then，gen command generate an empty queue.go with success hint.

the file to add trace has no function or method，so the rewrite func return "nil, nil". we should handle the first nil gracefully.


Symphony wants to manipulate tables that do not exist

In 2.7.x @michael-e has introduced »table locking« to prevent data corruption. This apparently leads to problems with fields that do not create an entry table since they do not store any data.
I’ve encountered an error with the system_date_fields-extension. See link for the corresponding issue.
To quote Michael:

In your setup MySQL vomits on the fact that Symphony wants to manipulate tables which do not exist. Symphony has always assumed that these tables exist.

What would be the preferable solution?

symphony checking if the table actually exists, or
system_date_fields creating an empty table?

@animaux and me verified (in the Gitter chatroom) that the issue is not caused by the table locking. If you remove the locking, you simply get the next error (related to Symphony's attempt to delete data from a non-existing table).
Here's the code in question: https://github.com/symphonycms/symphony-2/blob/2.7.x/symphony/lib/toolkit/class.entrymanager.php#L174-L221
You can see that Symphony tries to lock, delete a row and insert a new row in each field's tbl_entries_data_ table. If this table doesn't exist, well, things can break (and I wonder why we have never noticed this before—could it be that thousands of such errors are buried in log files?)

What would be the preferable solution?

The solution is clearly 1).

could it be that thousands of such errors are buried in log files

Let me check that.

We do:

could it be that thousands of such errors are buried in log files

04/26/2017 5:15 pm > UNKNOWN: DatabaseException 0 - MySQL Error (1146): Table 'sym_copy.sym_entries_data_14' doesn't exist in query: LOCK TABLES sym_entries_data_14 WRITE on line 961 of S:\github\symphony-2 - Copie\symphony\lib\toolkit\class.mysql.php

I've tested PHP 5.6.30, 7.0.18 and 7.1.4. They all work and they all vomit in the logs.

Thanks @nitriques. So much sorrow in all those logfiles. *sigh*

Turns out it's @michael-e's fault haha. Sending a PR with a fix right now


Bug(s) Fix: Leveraged Positions Smart Contract Example

The Leverage Facility Token example smart contract (contracts/examples/ConsumeDataExample/ levFacilityTokenExample.sol) was created to do the following (most of which works/there is semi-working code for):

Allow a person/organization to create a token with the initial price pegged to the price of a stock (in the example Alibaba, but could be any that OrFeed currently supports). The creator/owner has to over-collateralize because the token contract also serves as a facility for people to place opinionated (long or short) bets and add leverage (1x to 10x). Additionally, anyone can mint tokens by overcollaterlizing. The creators and minters get rewards when people close positions that go against a trader, and lose funds when positions go for traders. The idea being, with a small fee, that given the random walk theory of markets, the house (creators/owner) always win because 1) odds are slightly in their favor if you add fees (even with 50/50), and 2) traders keep trading and eventually lose their money... it's just the nature of the universe... and ... er gambling.
Allow participants (anyone) to open positions with leverage (both long and short), with the token creator and facility token minters' collateral being the counterparty funds for a trade
When a user closes a position that goes in their favor (their leverage is calculated and collateral funds are sent to the user). When the user closes the position that goes against their favor (part or all of their funds are added into the collateral pool, a percentage of which can be pulled out by the minters/owner as reward for collateralizing an acting as a counter-party).
When there is not enough collateral from minters/owner to pay a position reward, what can be afforded to be paid is paid out, while collateralization is maintained so that other participants that are in positions can withdraw their funds... in this case, the owner/minters would only be able to get up to 25% or so of their funds back).
Throughout this whole flow the actual tokens/not positions are tradable on uniswap etc. Ideally we would integrate the code from the same directory so when token is launched it automatically launches a Uniswap market as well.

Much of the base code is there but some of the functionality is not working/math is a bit janky. First big step we need to achieve is to lay out all the things that are not working or could work better. Please leave comments/ideas if you intend to contribute (and much thanks by the way), and we can collaborate ourselves towards a capital efficient (leverage), opinionated (long and short) future!

Hey @mikedeshazer i'm currently looking into this. So it seems 1, 2, 3  only 4 and 5 are missing correct? I'm currently looking into this and would like to solve it today 🙂

@mul1sh mostly yes. Looking forward to reviewing the code!

hey @mikedeshazer i've been going through this contract extensively for the past few days and trying to find and fix all the bugs i found. And the only bugs I seem to found relate to no. 4 only and a few syntax warnings, everything else is working as it should, apart also from the uniswap part which will be a later functionality.
So my question is, were you able to find any bugs or is there anything else i've missed?

@mul1sh #3 is not in the contract. The contract misses the calculations for positions/settlement

@mikedeshazer orfeed.getExchangeRate() isn't returning values for kovan and rinkeby.
https://kovan.etherscan.io/address/0x31a29958301c407d4b4bf0d53dac1f2d154d9d8d#readContract

Ahh ok, I see it now.

@mikedeshazer actually still on no 3, I can see the settlements are being calculated and issued based on the difference of the asset price so this is also done or i'm missing something? Also shouldn't the leverage be calculated before opening a position by buying long? This way you can easily tell whether a user made a profit or loss from their bet and reward them accordingly.

Also by how much should the pegged token be over-collaterized should it fixed during contract creation i.e. hard code 50% where for each pegged token to mint you need atleast double the value in ether or dynamic as set by the minter

@mul1sh yes leverage is set by user. On settlement it is calculated and distributed.

Is there still anything left to work on?


An error has to be shown if there are unconnected nodes on Draw sheet when plot schedule.

Currently unconnected nodes are not checked before plotting schedule.
It will cause of cell reference trouble at scheduling.

Issue was solved.


have some function to use react 0.14.x?

For some reasons, I used the react 0.14.x version, so if you want to ask, is there any way to make it available in the 0.14.x version?
if i use the draft-js lastest version , have Warning
Warning: A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.

duplicate of #81
@Linbubin to silence this warning you need to upgrade to 0.15
Also btw - please join the draft js community on slack for more immediate help: https://draftjs.herokuapp.com


mobx-autorun link error

line 1 of mobx-autorun link is
var _a = $scope.$$watchers, $$watchers = _a === void 0 ? [] : _a;
$scope.$$watchers is null for me when using angularjs 1.7.
this should be changed to $$watchers = typeof _a !== 'array' ? [] : _a;

fixed and released v1.6.1
thanks for your feedback!


various: small addition to documentation and IESopt.jl to v1.0.5

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


[LIVY-513][LIVY-517][TEST] Fix SessionHeartbeatSpec flakiness, occasional NPE

What changes were proposed in this pull request?
This PR aims to fix the following issues in the test suite SessionHeartbeatSpec:

Since there is no implementation provided for stop() in mock[TestSession], Mockito returns null by default and this causes SessionManager#delete to throw
NullPointerException when executing map() on the Future[Unit] object it expects.
This can be observed in the unit test output (server/target/unit-tests.log):

19/03/25 18:20:30.123 ScalaTest-main-running-SessionHeartbeatSpec INFO SessionHeartbeatSpec$$anonfun$2$TestWatchdog$1: Registering new session 0
19/03/25 18:20:30.123 ScalaTest-main-running-SessionHeartbeatSpec INFO SessionHeartbeatSpec$$anonfun$2$TestWatchdog$1: Registering new session 1
19/03/25 18:20:30.124 ScalaTest-main-running-SessionHeartbeatSpec INFO SessionHeartbeatSpec$$anonfun$2$TestWatchdog$1: Session 0 expired. Last heartbeat is at null.
19/03/25 18:20:30.124 ScalaTest-main-running-SessionHeartbeatSpec WARN SessionHeartbeatSpec$$anonfun$2$TestWatchdog$1: Exception was thrown when deleting expired session 0
java.lang.NullPointerException
        at org.apache.livy.sessions.SessionManager.delete(SessionManager.scala:123)
        at org.apache.livy.server.interactive.SessionHeartbeatWatchdog$$anonfun$deleteExpiredSessions$1.apply(SessionHeartbeat.scala:113)
        at org.apache.livy.server.interactive.SessionHeartbeatWatchdog$$anonfun$deleteExpiredSessions$1.apply(SessionHeartbeat.scala:110)
        at scala.collection.Iterator$class.foreach(Iterator.scala:891)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
        at scala.collection.MapLike$DefaultValuesIterable.foreach(MapLike.scala:206)
        at org.apache.livy.server.interactive.SessionHeartbeatWatchdog$class.deleteExpiredSessions(SessionHeartbeat.scala:110)
        at org.apache.livy.server.interactive.SessionHeartbeatSpec$$anonfun$2$TestWatchdog$1.deleteExpiredSessions(SessionHeartbeatSpec.scala:60)

In some rare cases, the SessionManager GC thread may run collectGarbage() after the test sessions are registered but before the test is finished. The GC thread will also attempt to delete the mock[TestSession] objects because the mocked session's lastActivity() function returns 0 by default which meanscurrentTime - session.lastActivity > sessionTimeout will always be true. This causes a race condition that can have the following outcomes:

The stop() method may be called twice (both by SessionHeartbeatWatchdog#deleteExpiredSessions and SessionManager#collectGarbage), resulting in a TooManyActualInvocations exception (LIVY-513):
  org.mockito.exceptions.verification.TooManyActualInvocations: testSession$1.stop();
Wanted 1 time:
-> at org.apache.livy.server.interactive.SessionHeartbeatSpec$$anonfun$2$$anonfun$apply$mcV$sp$5.apply$mcV$sp(SessionHeartbeatSpec.scala:93)
But was 2 times. Undesired invocation:
-> at org.apache.livy.sessions.SessionManager.delete(SessionManager.scala:124)
  at org.apache.livy.server.interactive.SessionHeartbeatSpec$$anonfun$2$$anonfun$apply$mcV$sp$5.apply$mcV$sp(SessionHeartbeatSpec.scala:93)
  at org.apache.livy.server.interactive.SessionHeartbeatSpec$$anonfun$2$$anonfun$apply$mcV$sp$5.apply(SessionHeartbeatSpec.scala:70)
  at org.apache.livy.server.interactive.SessionHeartbeatSpec$$anonfun$2$$anonfun$apply$mcV$sp$5.apply(SessionHeartbeatSpec.scala:70)
  at org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)
  at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:20)
  at org.scalatest.FunSpecLike$$anon$1.apply(FunSpecLike.scala:422)
  at org.scalatest.Suite$class.withFixture(Suite.scala:1122)
  ...

The stop() method may be called by collectGarbage() after deleteExpiredSessions(), but before the test is finished, which causes the following error message to appear on the console (LIVY-517).
Deleting Mock for TestSession$1, hashCode:<PHONE_NUMBER> because it was inactive for more than 3600000.0 ms.
Exception in thread "session gc thread" java.lang.NullPointerException
	at org.apache.livy.sessions.SessionManager.delete(SessionManager.scala:124)
	at org.apache.livy.sessions.SessionManager$$anonfun$collectGarbage$2.apply(SessionManager.scala:171)
	at org.apache.livy.sessions.SessionManager$$anonfun$collectGarbage$2.apply(SessionManager.scala:168)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at scala.collection.immutable.List.map(List.scala:296)
	at org.apache.livy.sessions.SessionManager.collectGarbage(SessionManager.scala:168)
	at org.apache.livy.sessions.SessionManager$GarbageCollector.run(SessionManager.scala:201)

These race conditions can be triggered easily by inserting Thread.sleep(x) (where x is between 10 to 50) before the loop in org.apache.livy.sessions.SessionManager.GarbageCollector#run and rerunning the test.
With this change applied, the SessionManager GC should not attempt to collect the mock[TestSession] objects created by the test, so the race condition should be eliminated and the flakiness of the test should be fixed.
How was this patch tested?
By running the existing UTs.

Codecov Report

Merging #163 into master will increase coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #163      +/-   ##
============================================
+ Coverage     68.59%   68.65%   +0.05%
+ Complexity      905      904       -1
============================================
  Files           100      100
  Lines          5662     5662
  Branches        848      848
============================================
+ Hits           3884     3887       +3
+ Misses         1225     1223       -2
+ Partials        553      552       -1

Impacted Files
Coverage Δ
Complexity Δ

...che/livy/server/interactive/SessionHeartbeat.scala
86.66% <0%> (-3.34%)
0% <0%> (ø)

...main/scala/org/apache/livy/server/LivyServer.scala
35.96% <0%> (+0.49%)
11% <0%> (ø)
:arrow_down:

...c/main/scala/org/apache/livy/repl/ReplDriver.scala
33.33% <0%> (+2.56%)
7% <0%> (ø)
:arrow_down:

.../scala/org/apache/livy/sessions/SessionState.scala
61.11% <0%> (+2.77%)
2% <0%> (ø)
:arrow_down:

...cala/org/apache/livy/scalaapi/ScalaJobHandle.scala
55.88% <0%> (+2.94%)
7% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Merging to master.


[DPE-2245][DPE-2346] Create and List backups

This PR adds the actions create-backup and list-backups, based on DPE-2245 and DPE-2346.
It adds a new lib, opensearch_backups, composed of different classes that enumerate the potential errors with backup service, the plugin config with OpenSearchBackupPlugin and the OpenSearchBackup class, responsible for for managing the S3 relation and related actions. OpenSearchBackup receives the events from Juju and interacts with the different parts of the charm (plugin_manager, opensearch, charm, etc) to manage the backups.
The backup must happen in two stages:

OpenSearchBackupPlugin: the configuration is received completely from S3-credentials relation and applied to the corresponding configuration files, as any plugin; a restart is issued
When the user requests the first action, the second stage happens, where OpenSearchBackup sets the S3 repo information up in the cluster using the backup API

Configuration must be applied to opensearch.yml, opensearch-keystore and potentially, to the CA truststore if this S3 uses a self-signed certificate.
The removal of S3 relation must be followed by the removal of any configuration in opensearch.yml and opensearch-keystore, or OpenSearch fails in the next restart as the plugin is partially configured. Removal has a simplified cycle, where (1) any API calls to disable backup are made; then (2) the configuration is removed and a restart request is issued.
This PR also introduces an abstract class: Keystore. The Keystore has default operations to be executed by any keystore, both OpenSearch's or JDK's. It also introduces a new child class: OpenSearchCATruststore. This class is responsible to manage the CA certificates trusted by OpenSearch, besides the certificates managed by opensearch-security plugin. OpenSearchKeystore now also inherits from this parent class.
In the case of SNAP, an additional step is needed, where the default CA truststore sits in the read-only /snap. In this case, the truststore is copied to $SNAP_COMMON folder and has its permissions updated to be rw only for snap_daemon:root. Then, the new filepath and password for the truststore are passed to the JVM via jvm.options configuration file.
This setup is done at install phase and only checked later on if the file persists in the same folder.
In the tarball, the cacerts truststore is kept in the same place: $OPENSEARCH_HOME/jdk/lib/security/cacerts.

TODO

Add test coverage for S3 in AWS
CA truststore - generate password and store it in Juju secrets

Although not passing in the runners, I can see:
h-scaling: https://pastebin.canonical.com/p/NkTgbXpRr9/
tls-integration: https://pastebin.canonical.com/p/X5Tw6qnSJN/
ha-networking: https://pastebin.canonical.com/p/SdvN9zVR7J/
Does pass with more resources.

Due to an issue with protobuf, I am pinning it to 3.20 in our tests


ImportError: cannot import name 'DistShift2' from 'gym_minigrid.envs'

I got an error when trying to run the example code for dqn agent using this command: python examples/rl_dqn_agent.py --curriculum SimpleCartPole
Then I got this error:
/home/user/anaconda3/envs/tella3/lib/python3.7/site-packages/gym/envs/registration.py:307: DeprecationWarning: The package name gym_minigrid has been deprecated in favor of minigrid. Please uninstall gym_minigrid and install minigrid with pip install minigrid. Future releases will be maintained under the new package name minigrid.
fn()
Traceback (most recent call last):
File "examples/rl_dqn_agent.py", line 35, in
import tella
File "/home/user/Reinfocement Learning/tella/tella/tella/init.py", line 31, in
from ._curriculums import load_curriculum_registry
File "/home/user/Reinfocement Learning/tella/tella/tella/_curriculums/init.py", line 23, in
from tella._curriculums.minigrid.simple import SimpleStepMiniGridCurriculum
File "/home/user/Reinfocement Learning/tella/tella/tella/_curriculums/minigrid/init.py", line 22, in
from .simple import SimpleMiniGridCurriculum, SimpleStepMiniGridCurriculum
File "/home/user/Reinfocement Learning/tella/tella/tella/_curriculums/minigrid/simple.py", line 22, in
from .m21 import SimpleCrossingS9N1, DistShiftR2, DynObstaclesS6N1
File "/home/user/Reinfocement Learning/tella/tella/tella/_curriculums/minigrid/m21.py", line 26, in
from gym_minigrid.envs import (
ImportError: cannot import name 'DistShift2' from 'gym_minigrid.envs' (/home/user/anaconda3/envs/tella3/lib/python3.7/site-packages/gym_minigrid/envs/init.py)

Thanks for the report @furqon3009. I've fixed the dependency issue and deployed version 2.1.0 to PyPI.


How to set font size ?

Hi !
Belly is really nice already very pleasant to use, but how can you set the font size ?
I tried using font_size in an ess file but I get Error: Unsupported property: font_size
I looked through the code & the docs but could not find anything.
thanks in advance !

Property names follows kebab-case naming convention, like in css. Use font-size to specify font size:
/// eml:
commands.add(eml!(<span s:font-size="42px">Hello</span>))

/* style.ess */

/* set font size to exact element */
span {
  font-size: 42px
}

/*
  text elements often resides as children of other nodes,
  so it may be useful to set font props using `*` selector
*/

/* set default font size */
* {
  font-size: 24px
}
/* set font size for specific block
.specific-block * {
  font-size: 36px
}

There also orher font related properties:
* {
  /* load custom font from assets folder */
  font: "fonts/MyFont.ttf"

  /* use predefined font style */
  font: bold /* regular|bold|italic|bold-italic */

  /* specify font color */
  color: red
}

I'd like to keep this issue open, until #31 got resolved.

Thanks a lot for your quick reply !
My bad also,  I was so focused on Bevy's text attributes that I forgot to try it css style :)
That is valuable information about using a specific font as well , thanks !
It is not really an issue at this stage but would there be any way of reusing a font specified in an asset file in bevy_asset_loader ?
#31  is a very good idea !
Btw I have a list of other questions , possible bugs (still need to some testing outside of my main project to isolate things) , and (small) feature requests: is that too much at the current time or are you ok with that ?
Either way, thanks a lot for creating Belly , very useful and promising!

Thank you for such a words! I appreciate it!

It is not really an issue at this stage but would there be any way of reusing a font specified in an asset file in bevy_asset_loader ?

I'm not sure if I understand you question right. Lets look on this ess:
* {
  font: "my-font.ttf"
}

The Text components generated by belly will hold Handle<Font> to my-font.ttf asset. If you define same font in bevy_asset_loader asset, your asset collections will hold the same Handle<Font> to the same my-font.ttf, so it will be the only instance of my-font.ttf asset.
You may want to pass font by asset key:
* {
  font: "collection.assets#my.font"
}

Unfortunately for now it is not possible, but may be possible in future.

Btw I have a list of other questions , possible bugs (still need to some testing outside of my main project to isolate things) , and (small) feature requests: is that too much at the current time or are you ok with that ?

Fill free to contact me in discord @jkbo#2629, or/and add issues. There are should be a lot of small bugs which is pretty easy to fix. Feature requests are welcome as well!

closing in favor of #31


Add support for resolving symlinks

I attempted to download files from a repo that looked like this:

...
lib

script.sh

modules

run-x

hello.txt
lib --> ../lib/

where `/modules/lib` is a symlink to `/lib/`.

I'd like `fetch` to inclue all the files in `/lib/*` (e.g. `/lib/script.sh`) in my downloads, but instead, `fetch` only includes the path of the folder to which the symlink points.

A helpful enhancement to fetch would be to optionally resolve symlinks. This could result in unexpected behavior if symlinks reference files outside the repo (but present on a local filesystem), and would represent a backward-incompatible change, so this feature should be enabled as an option, but not by default.

Completed in #40, but ultimately concluded that this feature was not necessary. See #40 for details.


Add alerts for full ckanpackager

If the server fills up, the service fails silently.
Also, check it we're removing week-old files via cron.

No cron to remove records. Need to set this up.

http://serverfault.com/questions/528509/how-to-set-up-monit-to-monitor-disk-space

Added cron to remove


Cleanup render schedule

Objective

Fixes https://github.com/bevyengine/bevy/issues/7531

Solution

Add systems to prepare set
Also remove a unnecessary apply_systems_buffers from ExtractCommands set.

How does the ordering of apply_extract_commands work so that it runs after extract systems?

Ah right, the extract schedule is run, then after, ExtractCommands is run, etc

bors r+


e2e tests for the fungible application

It is an end-to-end test which is I think important. All of our examples need to have tests and fungible is a very important smart contract.
Other points:

Define InitialState for the initialization of contracts.
Afterward, tests for crowd-funding and matching-engine can be introduced.

I was able to finish the e2e test and extend the application a little in #703. Feel free to add the following 2 commits to this PR then land it:
https://github.com/linera-io/linera-protocol/pull/703/commits/702f3b0eb7c240ff27fea1f4f103aff345a592a6
https://github.com/linera-io/linera-protocol/pull/703/commits/02d784bf2f10002ca2202835522c021ed1315429


private key conversion doesn't seem to work without password

System information:

Void Linux
DBeaver version 7.2.2
Additional extensions: none

Connection specification:

mariadb via SSH tunnel
Authentication: Public Key

My SSH tunnel couldn't be opened. It appears the set private key needed conversion, which seemed to have failed due to the fact that my key isn't equipped with a password itself.

2020-10-20 19:04:52.395 - Specified private key cannot be converted:
Saving key "/tmp/.dbeaver-temp5908045879929263143/mariaDB-17546caca6c-72ad6451a667c46f.pem" failed: passphrase is too short (minimum five characters).

thanks for the bug report

Same here:
System information:

Ubuntu 20.04
DBeaver version <IP_ADDRESS>010191702
Additional extensions: none

Connection specification:

postgresql via SSH tunnel
Authentication: Public Key

Specified private key cannot be converted:
Saving key "/tmp/.dbeaver-temp7249041726461356959/postgres-jdbc-175b35bd091-5cf3367c80964a37.pem" failed: passphrase is too short (minimum five characters).

@lyn1337 A little update, I make this work by installing DBeaver - SSHJ support (also available at Help > Install new software)

Hello, @lyn1337, @juliogc is your problem with JSCH was solved after upgrading to newest version? Thank you,

Hey @ShadelessFox
First I tried with 7.2.4 and I had the same issue but in 7.2.5 everything is fine in JSch connections
Thank you

Confirmed, upgrading from 7.2.4 to 7.2.5 also resolved the Specified private key cannot be converted: issue for me on Ubuntu 20.04 LTS.

<IP_ADDRESS>011291229 can't connect via ssh with key too
Specified private key cannot be converted: Saving key "/tmp/.dbeaver-temp140241000604814722/mysql8-176205c3c7b-789452e8359d298e.pem" failed: Permission denied.

Hello, @anton-reviakin, thanks for the response. Can you try changing permissions of private key file you have specified in the SSH settings to see if it works? chmod 600 should make the deal.

Hello, @anton-reviakin, thanks for the response. Can you try changing permissions of private key file you have specified in the SSH settings to see if it works? chmod 600 should make the deal.

Now works - I istalled SSHJ. But can't open a dropdown of ENUM field - only mousewheel

Now works - I installed SSHJ. But can't open a dropdown of ENUM field - only mousewheel
Is the JSch not working even after changing file permissions? Also can you provide more details about dropdown you're talking about?

Still having this issue in DBeaver 21.2 using jsch

Hello @slondr,
Please create a separate issue and provide more details about our problem. This ticket is closed.


Please add a button into the editor toolbar to switch to your pluginview.

As you might know, there is the source and history button in the editor toolbar right above the file and sometimes the preview button, dependend from the file. So it would be great to have only one button for your plugin too to switch from source to the hex view.
Regards
Chris

Hi. I was considering this option too, but disregarded that for now. I won't have much free time next few months and there are other tasks with higher priority I want to work on. Therefore I don't think I'll able to work on that any time soon.
I'm not sure how much work it would be. Maybe you could do it yourself as you have multiple plugins and much more experiences with NetBeans platform ;-)

Thx for the info. I will have a look, when I have time too ;). It should be easy, I think ^^.


Incorrect parsing with S.object + S.nullable + S.refine

The following seems to be a regression in rescript-schema 7 + 8. It works fine in rescript-schema 6.
let jsonString = `{"myField": "test"}`

let schema = S.object(s => s.field("myField", S.option(S.string)))->S.refine(_ => _ => ())
// ✅ { TAG: 'Ok', _0: 'test' }
Console.log(S.parseJsonStringWith(jsonString, schema))

let schema = S.object(s => s.field("myField", S.nullable(S.string)))->S.refine(_ => _ => ())
// 😱 { TAG: 'Ok', _0: undefined }
Console.log(S.parseJsonStringWith(jsonString, schema))

😳

I've found the issue. I'll take a look at how I can change the core of the library to prevent this kind of error in the future. Probably release a fix this weekends. Have big workload next two days.

Thank you for finding loopholes in my tests. There are almost a 1k of them, but that's still not enough 😅

https://github.com/DZakh/rescript-schema/releases/tag/v8.0.1 with a fix is published. Thank you for reporting


change handling of env variables for postgres

@ubergesundheit
might this be a useful update of how environmental variables are read?
with this change, you might be able to replace your current "export $(cat backend/.env | xargs) && docker-compose up -d db"
with a simpler "docker-compose up -d db".

This does indeed make loading the environment variables from the .env file but without changes in #167 this still requires export $(cat backend/.env | xargs) to make them available for the backend.
My suggestion: Rebase and merge these changes against your dotenv branch.

@ubergesundheit
thx for feedback and suggestion. rebase is done.
docker-compose up backend should now work work without sourcing backend/.env.

Removed my local branch and database container, repulled everything, installed the additional dependency, executed docker-compose up -d db. Does not work. Python seems to load the values, but now in the container this happens:
$ docker-compose exec db env | grep POSTGRES_USER
POSTGRES_USER=${DB_USER}

@ubergesundheit
hm. I removed my local containers, re-build the backend service (without installing an additional depencency), started the db service, and: it works on my machine :-(
this is what I get:
$ docker-compose exec db env | grep POSTGRES_USER
POSTGRES_USER=dbuser

how about screen sharing at our next Tuesday?

I won’t make it to tomorrows session. I‘m pretty sure I restored just right. Will check tomorrow on my other computer

Ok, if the error is reproduced (not unlikely), then pls send me your bash history and I'll try to debug from there.

Confirmed this does not work on my other machine. Steps to reproduce:
Start a fresh bash terminal, then:
git clone https://github.com/codeformuenster/muenster-jetzt.git
cd muenster-jetzt
git fetch origin
git checkout env_vars
docker-compose up -d db
# wait a little
docker-compose exec db env | grep POSTGRES_

Result:
POSTGRES_USER=${DB_USER}
POSTGRES_PASSWORD=${DB_PASSWORD}
POSTGRES_DB=${DB_NAME}

@ubergesundheit
unfortunately, also works on my 2nd machine :-(
as a quick fix, should we repeat the values for DB_USER etc. also for the Postgres config?
that would be somewhat redundant, and might look like:
DB_USER=dbuser
DB_PASSWORD=PleaseChooseYourOwn
DB_NAME=muenster-jetzt-dev
# postgres config
POSTGRES_USER=dbuser
POSTGRES_PASSWORD=PleaseChooseYourOwn
POSTGRES_DB=muenster-jetzt-dev

(as a larger-scale refactoring, we might rename all the uses of DB_USER to POSTGRES_USER in our code)

Just upgraded my docker-compose version from 1.25.0 to 1.27.0 and your changes work with this version. If you would add this requirement to the readme this pr would be ok to merge

@ubergesundheit
thx for hinting to the versions. the info is included in the README now.
I'll keep this PR on hold until PR #167 is done, upon which this one is based.


[ENG-2687] Reduce the number of shades of blue on workflow details page

Describe your changes and why you are making these changes
Based on feedback, updating the color of the action buttons on the workflow details page to be more consistent with the rest of the UI.
Related issue number (if any)
Loom demo (if any)

Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

Interesting idea, @likawind. I see what you're going for, but I don't have an immediate answer. I've created a follow up issue to track this here.


Split feature track into forward, reverse and unstranded

Have all three on by default.

We need to fix the unstranded features to complete this: pombase/pombase-chado#668

Done for tomorrow's load.

It's live now.  I'm not sure it makes the display clearer though:
https://www.pombase.org/jbrowse/index.html?loc=II%3A1..349000&tracks=PomBase reverse strand features%2CDNA%2CPomBase forward strand features&highlight=

I think it is MUCH clearer, but I'm used to looking at it this way. It saves a lot of  thinking about what is where.
One thing, forwards strand at the top please ;)

at this resolution it doesn't help so much but if you zoom in its MUCH better.

One thing, forwards strand at the top please ;)

It is by default but I had been playing around.  You can drag the tracks to where you want them.

Oh cool...I'm not used to this fanciness!

If you click through to JBrowse from the pombase-dev gene pages both strands are displayed.  With forward at the top.  :-)

lovely ;)


Jquery selector don't work for term.open

Missed # at the jQuery id selector?
var test = $("#term")[0];

lol verified yes, you can close my shit:D


Use Kapitan Helm dependency type to fetch TopoLVM Helm chart

This ensures the component continues to work with Kapitan 0.30 (https://github.com/projectsyn/commodore/pull/358)

Checklist

[x] Keep pull requests small so they can be easily reviewed.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Link this PR to related issues.

Shall i merge and release this PR?
Because i have an additional change too, will also test it on the lab.

Feel free to go ahead, this should be a no-op in terms of the resulting catalog manifests


Improve NumPy to Dataset performance with vectorized shuffling.

PiperOrigin-RevId: 263611727

There’s a follow up fix to this bc this was causing a recursion error in some cases, should we wait for that? Or submit this and then follow up?

yea, Please cherrypick the followup as well

yea, Please cherrypick the followup as well

Done.


Improve plural support for the matches counter

Fixes #10076. The string IDs are renewed and all plural forms have been provided. I kept plural(n) as explained in https://github.com/mozilla/pdf.js/issues/10076#issuecomment-421613069.
/cc @flodolo and @Snuffleupagus for review

/botio-windows preview

/botio-windows preview

@rvandermeulen Could you do a new upstream merge that contains these changes? This is necessary for a correct localization of these strings.


[ISSUE] CreateCluster is missing data_security_mode attribute

Description
We have policies in place which require data_security_mode to be set when creating a Cluster. Because this attribute is missing we cannot create clusters with the SDK.
Expected behavior
One should be able to set data_security_mode when calling ClustersAPI.create.
Debug Logs
The SDK logs helpful debugging information when debug logging is enabled. Set the log level to debug by adding logging.basicConfig(level=logging.DEBUG) to your program, and include the logs here.
Other Information

OS: [e.g. macOS]
Version: [e.g. 0.1.0]

Additional context
Add any other context about the problem here.

@mgyucht could you please look at this issue? Does this mean that this attribute is missing from the OpenAPI spec? It definitely is accepted and used by the actually endpoint.

Agree with adding this to the Class (ClusterCreate) and related method (clusters.create).
Since the edit method (clusters.edit) has data_security_mode as an argument, the workflow I use calls the create method and saves the response in a variable so I can follow the create step with an edit using the response cluster id and save arguments as the create. It is not ideal but it works.
Example:

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.compute import AutoScale, AwsAttributes, AwsAvailability, ClusterSource, DataSecurityMode, \
    RuntimeEngine
import time

w = WorkspaceClient(profile='DEFAULT')

cluster_policies = [pol for pol in w.cluster_policies.list() if pol.name == 'HIPAA_intelli_curvgh']
cluster_policy = cluster_policies[0]
spark_version = '13.2.x-cpu-ml-scala2.12'

cluster_info = {
    'spark_version': spark_version,
    'autoscale': AutoScale(min_workers=2, max_workers=8),
    'autotermination_minutes': 30,
    'aws_attributes': AwsAttributes(
        availability=AwsAvailability('SPOT_WITH_FALLBACK'),
        ebs_volume_count=0,
        first_on_demand=1,
        instance_profile_arn='<add_arn_role>',
        spot_bid_price_percent=100,
        zone_id='auto'
    ),
    'cluster_name': 'Nick Cluster Copy',
    'cluster_source': ClusterSource('API'),
    'data_security_mode': DataSecurityMode('SINGLE_USER'),
    'driver_node_type_id': 'i3en.2xlarge',
    'enable_elastic_disk': True,
    'enable_local_disk_encryption': False,
    'enable_unity_catalog': True,
    'node_type_id': 'i3en.2xlarge',
    'policy_id': cluster_policy.policy_id,
    'runtime_engine': RuntimeEngine('STANDARD'),
    'single_user_name': '<add_your_user_name>',
    'spark_conf': {'spark.databricks.service.port': '8787', 'spark.databricks.service.server.enabled': 'true'},
    'spark_env_vars': None,
    'ssh_public_keys': None
}

resp = w.clusters.create(**cluster_info)

## wait until the cluster is running
while w.clusters.get(resp.response.cluster_id).state.name == 'PENDING':
    time.sleep(60)

w.clusters.edit(cluster_id=resp.response.cluster_id, **cluster_info)

@narquette w.clusters.create(..).get() should wait until cluster is properly running or fail. please update your code.

This is true but is also kind of weird behaviour from Databricks imo. It isn't clear that creating a cluster should also start it.

@judahrand it's starting a cluster, yes. will need to make it clear in the documentation.

But Databricks has a lot of unintuitive behaviour 🤷

SDK docs will get improved over time. Please keep an eye on them :)

More importantly, is this issue likely to be fixed any time soon? It isn't one that the community can help with since the OpenAPI spec isn't publicly available (I'm still somewhat unclear as to why).

Hi @judahrand, sorry I missed your tag. In the meantime, this field was added to the OpenAPI spec. It is included in the latest release of the SDK: https://github.com/databricks/databricks-sdk-py/blob/main/databricks/sdk/service/compute.py#L4090.
As for the OpenAPI spec, we will eventually make the spec public but have not prioritized it yet. We understand that your ability to contribute to the SDK is very limited without the spec. For now, we've primarily focused on improving the SDK development cycle for internal contributors, but over time we expect that others will be able to contribute. Thank you for your understanding.


Improve the code coverage

Codecov Report

Merging #182 (c6de35c) into master (363aa79) will increase coverage by 0.39%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #182      +/-   ##
==========================================
+ Coverage   68.81%   69.21%   +0.39%
==========================================
  Files          31       31
  Lines        4259     4259
==========================================
+ Hits         2931     2948      +17
+ Misses       1328     1311      -17

Impacted Files
Coverage Δ

src/configuration.ml
17.46% <0.00%> (+0.52%)
:arrow_up:

src/error.ml
23.88% <0.00%> (+1.49%)
:arrow_up:

src/constant.ml
97.43% <0.00%> (+38.46%)
:arrow_up:

Continue to review full report at Codecov.

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


Video overlay (Skilling)

Would it be possible to add the ability to watch Youtube videos or Twitch streams inside its own overlay window in Runelite? It will be perfect for skilling. This will allow us to stay in the same window.
There is a famous RS3 client that does this and its a very popular feature.

Picture-in-picture.

Picture-in-picture.

Thank you! did not know about this. Anyone who is interested in this youtube 'Picture-in-picture"

For what it's worth, we have declined many similar feature requests on the grounds that we aren't interested in incorporating a web browser into the client. Thankfully picture-in-picture, which is available in most major browsers, generally addresses this need nicely.
Duplicate of #3038 et al.


fix(swagger): Update operation id

These are changes for generating single client with updated operation id.

Do you have an example of what the generated client looks like?

Do you have an example of what the generated client looks like?

I can show you offline if you are interested

Closing it for now, will create a new PR for suggested changes.


Add Elaborate Camera Example To Camera Package

The camera  dart package has a super useful example widget that manages switching cameras and taking pictures.
Most developers will just copy-paste this implementation into their app as a separate page (ie for an image submission form). It'd be really valuable if either:
This example was supplied as a widget in the camera package
or
The example was made into its own package that is dependent on the camera package.

The example was made into its own package that is dependent on the camera package.

This is something that would be best done as a third-party package depending on the camera plugin--or multiple such packages with different designs, features, etc.--as there's no specific reason it would need to be a first-party plugin. (Essentially what a package like chewie provides for video_player.)


test: scenarios-feature_branch_happy_path (2024-07-22 19:55:46.607009+00:00)

automatic test cleanup


[Event Request] [AU] reproduce "Purchase Header" Table OnBeforeShowPostedDocsToPrintCreatedMsg(ShowPostedDocsToPrint);

An event OnBeforeShowPostedDocsToPrintCreatedMsg(ShowPostedDocsToPrint); is existing in "Purchase Header" table.
Would be great to have the same event at least in "Sales Header" and "Service Header" tables.

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. We will update this issue with information about availability.


Feedback when promoting users

I'm using Privileges v1.0.5-b20 and Bukkit 1317. When I change a group on a user (/priv group set  ) I don't get any feedback that it was successful. The check command (/priv check ) always says the user's node is false (default). I know the command works though as the group will change in the users.yml.
A side note with this. Could you log the user promotions? Maybe make it a configurable attribute as some may not want that in their log file.
An example would be, User A set User B to group "user".

Added as of this commit.
Thanks for the suggestion!
As for the /priv check problem, I'm not seeing it. It shows up properly for me. :o


feat(TypeScript): Move DeviceDescriptors to TS

This commit moves src/DeviceDescriptors to be authored in TypeScript.
This file was chosen due to its simplicity so that we can focus on
getting a mixed JS/TS codebase playing nicely before migrating the more
complex files.
The file itself was a bit odd: although the array of devices was
exported via module.exports that was never referenced by any
consumers; each device was also exported via module.exports[name] = device and that is how it's consumed. The Puppeteer docs suggest using
it like so:
puppeteer.devices['iPhone 6']

So instead of exporting the array and then setting a bunch of properties
on that, we instead define the array and export an object of keys where
each key is a device.
Rather than export an object I'd much rather export a Map, but that
would be a breaking change and I'm keen to avoid those for the time
being.
Note that we have to use special TypeScript specific syntax for the
export that enables it to work in a CommonJS codebase 1 but again I'd
rather this than move to ESM at this time. TypeScript still outputs
CommonJS into lib/ as you would expect.

@mathiasbynens see what you think - I don't want to ship this anytime soon but thought I'd see what the changes looked like.

I've made a PR a while ago which got ignored:
https://github.com/puppeteer/puppeteer/pull/5233
After seeing the work being merged these days, you may find some of the those changes useful.

No longer exporting the array is also a breaking change. I think that's fine for the reasons you point out, but we should just be aware of it.

@AviVahl I did see that indeed, thanks! It will definitely be a useful reference as we try to incrementally migrate over 👍

Note to self: I'll rephrase the commit message upon merging in light of the following:

So instead of exporting the array and then setting a bunch of properties
on that, we instead define the array and export an object of keys where
each key is a device.

This is technically a breaking change (although for the reasons you provide it seems fine in this case).

Rather than export an object I'd much rather export a Map, but that
would be a breaking change and I'm keen to avoid those for the time
being.

Given the above, it would be "a larger breaking change".

doclint seems to be timing out on one of the bots. Could you please take a look?


Release v2.9.7+rev2

Just running a test on this build, whether the updates will work fine after this.


Lockscreen Freeze

Bit hard to describe but the following happens:
if i go into lock screen or my pc goes into lockscreen naturally and leave my pc for a while, i can come back and put in my password normally but the moment i press enter the pc completely freezes and i need to manually restart. i did an artifical test and the moment the clock that is on my screen freezes, is also the moment where i will have to restart manually if enter my password. Before that i can put in my password and it will resume normally

Got the same issue :
Sometimes, when hyprlock is exiting, the screen just freeze, and I have to go to another tty then go back in order to get it working.
When swayidle starts hyprlock, I noticed than the clock seems to update only when I move my mouse, and was freezed at the time of locking.
Tried and sucessfully remade it in a shell, but no unusual logs. I also checked journalctl but the only logs unusual were :

Jul 15 01:49:07 tower hyprlock[4214]: pam_unix(hyprlock:auth): conversation failed
Jul 15 01:49:07 tower hyprlock[4214]: pam_unix(hyprlock:auth): auth could not identify password for [martin]

I use Nvidia driver 555 and NixOS 24.05.
Here is my hyprland.conf.

I am actually on 0.3.0-unstable-2024-04-24 as I'm following the Nix 24.05 channel (see (here)[https://search.nixos.org/packages?channel=24.05&from=0&size=50&sort=relevance&type=packages&query=hyprlock]).
And the freezing could be due to a Nvidia issue, but without logs I understand it's like completely impossible to solve it...

If you are able to, please try latest git (hyprland + hyprlock) and check if the freeze still happens.
I kinda think that has already been fixed.

@PaideiaDilemma what commit made the fix? What version would contain it? I currently have 0.4.1-1 and I have more or less the same issue as described here.

For me, 0.4.1 fixed this issue, so just install 0.4.1 instead of git version

I just installed it for the first time ever, that version, and it's affected.

This is related to your Hyprland version, not hyprlock.

If you are able to, please try latest git (hyprland + hyprlock) and check if the freeze still happens.
I kinda think that has already been fixed.

Took a while to respond but you were right, the issue seems to have disappear while switching on a more recent version. Appreciate the help !

I just updated to Hyprland 0.42. The problem appears to be fixed at first glance, but in practice it isn't.
One in every +- 20 locks, it still has the freeze behavior. It is still recoverable by switching to another tty.

Got the same issue : Sometimes, when hyprlock is exiting, the screen just freeze, and I have to go to another tty then go back in order to get it working. When swayidle starts hyprlock, I noticed than the clock seems to update only when I move my mouse, and was freezed at the time of locking. Tried and sucessfully remade it in a shell, but no unusual logs. I also checked journalctl but the only logs unusual were :

Jul 15 01:49:07 tower hyprlock[4214]: pam_unix(hyprlock:auth): conversation failed
Jul 15 01:49:07 tower hyprlock[4214]: pam_unix(hyprlock:auth): auth could not identify password for [martin]

I use Nvidia driver 555 and NixOS 24.05. Here is my hyprlock.conf.

Also using the 555 drivers and NixOS. Same issue here.


[Automation] - IPMI SOL Activate / De-activation

https://github.com/openbmc/openbmc/issues/857 - SOL Activate / De-activation.
Dev Plan to make following changes:

SOL Incoming Payload handler to route inbound SOL traffic to the host

Modify Message Handler to sent unsolicited SOL payload Type

Modify the session data to keep channel client information and SOL metadata

Write a command module to load the SOL commands to the Command Table

Implement SOL Activate command

Implement SOL Deactivate command

Implement Get Payload Activation Status

SOL Activating Command

Currently I am marking for March, Based on discussion with the development, its equivalent stuff will be available some time this week.


Bot doesnt come online after deploying on heroku

Everything says its worked and deployed, yet my bot stays offline

2020-04-18T06:22:15.412264+00:00 app[web.1]:
2020-04-18T06:22:15.412593+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2020-04-18T06:22:15.412724+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2020-04-18T06_22_15_407Z-debug.log
2020-04-18T06:23:48.884771+00:00 heroku[worker.1]: State changed from crashed to starting
2020-04-18T06:23:51.853143+00:00 heroku[worker.1]: State changed from starting to up
2020-04-18T06:23:54.067018+00:00 heroku[worker.1]: State changed from up to crashed
2020-04-18T06:23:53.970209+00:00 app[worker.1]: npm ERR! missing script: start
2020-04-18T06:23:53.977249+00:00 app[worker.1]:
2020-04-18T06:23:53.977618+00:00 app[worker.1]: npm ERR! A complete log of this run can be found in:
2020-04-18T06:23:53.977761+00:00 app[worker.1]: npm ERR!     /app/.npm/_logs/2020-04-18T06_23_53_970Z-debug.log

https://github.com/renesansz/discord-greeter-bot/issues/252
check this out, it is the exact same issue but i commented on it what you need to do

can someone close this?

can someone close this issue?


[optimize][storage] Optimize null insert in ColumnReader

Proposed changes
Problem Summary:

use batch insert ColumnNullable in ColumnReader.
Add a type check for Nullable.

Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

I will fast merge it, because 1.1 depends on it.


grpc::CompositeCallCredentials() appears to not be defined anywhere

It's declared here:
https://github.com/grpc/grpc/blob/fc57518ac1999743da3f618193e9d2240a5660c1/include/grpc++/security/credentials.h#L185-L188
But the function doesn't appear to be defined anywhere. Indeed, writing code that calls it results in a linker error when building.

Good one... Looks like this code gets used a lot... not.
@yang-g FYI.

I can add it :)

That would be great if you have time. Thanks!
On Wed, Sep 13, 2017 at 3:29 PM, Yang Gao<EMAIL_ADDRESS>wrote:

I can add it :)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/12556#issuecomment-329315265, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF-P7Y5Gh6-7zAj9JFxZXcOqZn1ww7O8ks5siFdAgaJpZM4PWwZP
.


SAK-46909 - Remove the last usage of itext in kernel from fr.opensagres

I also didn't see any usages of odftoolkit so I removed that one too.

Just assigning to @adrianfish to review and verify that you did remove the usage of these and I'm not missing anything.

These dependencies was added on:
SAK-43072 Add document preview to grader (https://github.com/sakaiproject/sakai/pull/7930)
https://jira.sakaiproject.org/browse/SAK-43072


[bug] [bitcoin-core test] '2147483648 0 ADD NOP'

Issue
The following bitcoin-core test is failing to give the correct result :
2147483648 0 ADD NOP

This code should be failing due to an error.
More info from the test: `arithmetic operands must be in range [-2^31...2^31]
Replicate
To replicate the issue you can use the latest main branch with the following command:
scarb cairo-run '[[],66716881394323490567574922255566718020,16,[],5132112,3]'

@varun-doshi thank you for showing interest in these bitcoin-core test issues. Could you comment here and I can assign you to this task? Appreciate it!

Hey @b-j-roberts
I'm ready to take this up. Please assign it to me
Thank you

This ended up being a duplicate to https://github.com/keep-starknet-strange/shinigami/issues/142 so I will close it.


Create devcontainer.json

Not doable b/c need postgres database, but it does work other than that.


Fix CleanUpIT failure

Throw correct runtime exception when accessing a closed scanner
(should be an illegal state, not an illegal argument)
Close the scanner before closing the client in CleanUpIT because
closing the scanner requires the client to not be closed in order to
execute cleanup tasks without blocking

Responding to self:

However, I'm not sure why that is necessary. I think this might have been written by @keith-turner , so perhaps he has some insight on why these must not block.

I was in a rush when I sent my earlier comment, so I'm not sure I was clear. Unless there's a really good reason, I'd be okay with making close block to dramatically simplify this code. I don't think that would be a problem because, if a user wanted a scanner to close in the background, they could always do that themselves. If that was the case, then correctness and resource management for that background close would be their responsibility. That said, I think this PR is sufficient for now.

All ITs passed


[BUG] 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'

Could be nice to update photo_view to version 0.12.0 to solve this issue:
https://github.com/fireslime/photo_view/issues/441

I created a PR to update photo_view.


[#5637] Add CLI unit tests to check if the right command has been called.

What changes were proposed in this pull request?
Add CLI unit tests to check if the right command has been called.
Why are the changes needed?
To increate unit test coverage.
Fix: #5637
Does this PR introduce any user-facing change?
N/A
How was this patch tested?
Tested locally.

Not complete yet, I've just added the tests for Metalakes. @jerryshao or @shaofengshi can you confirm this is the right direction before I create tests for other entities.

Looks like you only added the metalake related tests, will you add more tests about others? Also, I saw that your test cases are more about good tests, can you please also add some bad tests?

Yes, I will add more tests, as I said above, "can you confirm this is the right direction before I create tests for other entities."

With the metalakes commands, there are no bad paths in this path code. Missing a --value flag from a property command is handled by the CLI library before this code is called. Same with a missing a property flag in metalake remove command. Same with an unknown flag. Same with not passing a value to a command like --rename. Unknown entities and commands already have unit tests.

Yeah, I'm fine with the current direction, please add more tests to cover all the options/flags as possible as we can.

@jerryshao / @shaofengshi, this is ready for review.


Fix 'send' of 'path_for' on controller helpers

When a user has their password expired, a redirection to the new password form occurs. However, when this redirect happens from a location other than the User's scope, an error is raised informing that such method does not exist.
The solution is based on the implementation of Devise itself to send the redirect according to the scope's context.
https://github.com/heartcombo/devise/blob/main/lib/devise/controllers/url_helpers.rb#L50-L53
Error context:
NoMethodError: undefined method `user_password_expired_path' for #<App::NegotiationsController:0x00007fafdbc3f4f0>

devise-security/controllers/helpers.rb:91 in `change_password_required_path_for'
devise-security/controllers/helpers.rb:80 in `redirect_for_password_change'
devise-security/controllers/helpers.rb:53 in `block in handle_password_change'
devise-security/controllers/helpers.rb:48 in `any?'
devise-security/controllers/helpers.rb:48 in `handle_password_change'
active_support/callbacks.rb:426 in `block in make_lambda'
active_support/callbacks.rb:198 in `block (2 levels) in halting'
abstract_controller/callbacks.rb:34 in `block (2 levels) in <module:Callbacks>'
active_support/callbacks.rb:199 in `block in halting'
active_support/callbacks.rb:513 in `block in invoke_before'
active_support/callbacks.rb:513 in `each'
active_support/callbacks.rb:513 in `invoke_before'
active_support/callbacks.rb:107 in `block in run_callbacks'
active_support/callbacks.rb:136 in `run_callbacks'
abstract_controller/callbacks.rb:41 in `process_action'
action_controller/metal/rescue.rb:22 in `process_action'
action_controller/metal/instrumentation.rb:34 in `block in process_action'
active_support/notifications.rb:168 in `block in instrument'
active_support/notifications/instrumenter.rb:23 in `instrument'
active_support/notifications.rb:168 in `instrument'
action_controller/metal/instrumentation.rb:32 in `process_action'
action_controller/metal/params_wrapper.rb:256 in `process_action'
active_record/railties/controller_runtime.rb:24 in `process_action'
abstract_controller/base.rb:134 in `process'
action_view/rendering.rb:32 in `process'
action_controller/metal.rb:191 in `dispatch'
action_controller/metal.rb:252 in `dispatch'
action_dispatch/routing/route_set.rb:52 in `dispatch'
action_dispatch/routing/route_set.rb:34 in `serve'
action_dispatch/journey/router.rb:52 in `block in serve'
action_dispatch/journey/router.rb:35 in `each'
action_dispatch/journey/router.rb:35 in `serve'
action_dispatch/routing/route_set.rb:840 in `call'
rails/engine.rb:524 in `call'
rails/railtie.rb:190 in `public_send'
rails/railtie.rb:190 in `method_missing'
action_dispatch/routing/mapper.rb:19 in `block in <class:Constraints>'
action_dispatch/routing/mapper.rb:48 in `serve'
action_dispatch/journey/router.rb:52 in `block in serve'
action_dispatch/journey/router.rb:35 in `each'
action_dispatch/journey/router.rb:35 in `serve'
action_dispatch/routing/route_set.rb:840 in `call'
omniauth/strategy.rb:192 in `call!'
omniauth/strategy.rb:169 in `call'
omniauth/strategy.rb:192 in `call!'
omniauth/strategy.rb:169 in `call'
warden/manager.rb:36 in `block in call'
warden/manager.rb:34 in `catch'
warden/manager.rb:34 in `call'
rack/tempfile_reaper.rb:15 in `call'
rack/etag.rb:27 in `call'
rack/conditional_get.rb:27 in `call'
rack/head.rb:12 in `call'
action_dispatch/http/content_security_policy.rb:18 in `call'
rack/session/abstract/id.rb:266 in `context'
rack/session/abstract/id.rb:260 in `call'
action_dispatch/middleware/cookies.rb:670 in `call'
action_dispatch/middleware/callbacks.rb:28 in `block in call'
active_support/callbacks.rb:98 in `run_callbacks'
action_dispatch/middleware/callbacks.rb:26 in `call'
action_dispatch/middleware/debug_exceptions.rb:61 in `call'
action_dispatch/middleware/show_exceptions.rb:33 in `call'
rails/rack/logger.rb:38 in `call_app'
rails/rack/logger.rb:26 in `block in call'
active_support/tagged_logging.rb:71 in `block in tagged'
active_support/tagged_logging.rb:28 in `tagged'
active_support/tagged_logging.rb:71 in `tagged'
rails/rack/logger.rb:26 in `call'
action_dispatch/middleware/remote_ip.rb:81 in `call'
request_store/middleware.rb:19 in `call'
action_dispatch/middleware/request_id.rb:27 in `call'
rack/method_override.rb:24 in `call'
rack/runtime.rb:22 in `call'
active_support/cache/strategy/local_cache_middleware.rb:29 in `call'
action_dispatch/middleware/executor.rb:14 in `call'
action_dispatch/middleware/static.rb:127 in `call'
rack/sendfile.rb:110 in `call'

As a complement, a similar case (which also occurs sometimes)
https://stackoverflow.com/questions/50116571/devise-security-gem-devise-controller-not-found-rails-5-2

Code looks good - please add a test to ensure that the logic works correctly :)

Coverage decreased (-2.02%) to 95.909% when pulling bb09a941f434482e77b146e19e9cc2fe89299ccd on djpremier:bug_controllers_helpers into f887e65b82823972d1a2e7ede9e5d465d9d90bb8 on devise-security:master.

Code looks good - please add a test to ensure that the logic works correctly :)

Hi Dillon, I tried but couldn't formulate a test to cover this case. Currently there are already two that cover the part of redirecting whether or not you are logged in, but somehow they don't get this error.
Do you have any tips on how I could be writing?

My guess would be here https://github.com/devise-security/devise-security/blob/master/test/controllers/test_password_expired_controller.rb
I'd also recommend digging through the test suite of devise to see how they are testing the code you linked.
Note: I didn't originally write this project so I'm on a learning journey with you here :)

Was with the same problem here, will try to write some test for it if the time allows me

Was with the same problem here, will try to write some test for it if the time allows me

Thank you!


Updating Existing Recipes to Incorporate DOM Versioning Changes

Description
This PR updates the existing recipes based on the InDesign DOM versioning changes which were shipped in InDesign version 18.4.

The existing recipes do not take into account the DOM versioning changes. Modifying the existing recipes to work fine with InDesign 18.4 onwards.
How Has This Been Tested?
The updated recipes have been tested with InDesign version 18.4 and 18.5. All the script snippets are working as expected now. Have also built the repo locally to verify the changes.

Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] I have signed the Adobe Open Source CLA.
[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.
[x] All new and existing tests passed.

@Akshayvc1  Please close this PR


Skia roll causes minor changes in the way we render things

https://github.com/flutter/engine/pull/22754 is the candidate roll. I think its the https://skia.googlesource.com/skia.git/+/420a9ba7b5e99a3a6d539190cbff4198d1ee9e7e that might have started this.
In the case of Flutter SVG:
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8862180433793644048/+/steps/prepare_environment/0/steps/Customer_testing/0/steps/customer_testing/0/stdout is the failure. Patched in https://github.com/flutter/tests/pull/68/files.
Also causes failures in gold
https://flutter-gold.skia.org/search?issue=71430&crs=github&corpus=flutter

Tentative plan is:

Resolve all the other issues seen in: https://github.com/flutter/flutter/pull/71430
Land https://github.com/flutter/tests/pull/68
Shepherd the new roll to success.

cc: @jason-simmons , @dnfield

fyi @cbracken

@cbracken I think this has been resolved now that you were able to land the roll. 🎉  Ok to close this now?


Support dry suits

At least for the padi guidelines (where they are defined)

done in
86663fb38bf20af5ac39bdf8004b8b9d5698e06b
bd640dbd4f1d72dd909a6ae6fc3e506e84a42ae1


Provide a way to default to descriptor_set = 0 and auto generate bindings.

shaderc has a compiler option set_autobind_uniforms which allows bindings to be omitted.
This would look like this:
#[spirv(compute(threads(64)))]
pub fn main_cs(
    #[spirv(global_invocation_id)] id: UVec3,
    #[spirv(storage_buffer)] prime_indices: &mut [u32],
) {
    let index = id.x as usize;
    prime_indices[index] = collatz(prime_indices[index]).unwrap_or(u32::MAX);
}

Descriptor set would be 0. Bindings would be generated in order, starting with 0. Handling of mixing the two could be implemented, or the macro could error if either the set or binding is specified.
Potentially, this could be opted into either via an option to SpirvBuilder, or the spirv macro itself. Like: `#[spirv(compute(threads(64)), descriptor_set=0, autobind_uniforms)]"
Saving the explicit descriptor set and bindings is mostly for clarity and ease of use, since at the moment it is fairly verbose.
However, particular motivation for automatically generating bindings is for use in macros / generated definitions. For example, optional arguments:
macro_rules! impl_gemm {
    ($($func:ident<$(@splitk=$splitk:tt,)? $T:ty, $TC:ty, $TS:tt, $TSA:tt, $TSB:tt, $UNR:tt, $MICA:tt, $MICB:tt>($($bias:tt=true)?)),* $(,)?) => (
        $(
            #[allow(unused_attributes)]
            #[spirv(compute(threads($TS)))]
            pub fn $func(
                #[spirv(workgroup_id)]
                group_id: UVec3,
                #[spirv(local_invocation_id)]
                local_id: UVec3,
                #[spirv(storage_buffer, descriptor_set=0, binding=0)]
                a: &[$T],
                #[spirv(workgroup)]
                a_tile: &mut [[$T; $TSA * $MICA + 1]; $UNR],
                #[spirv(storage_buffer, descriptor_set=0, binding=1)]
                b: &[$T],
                #[spirv(workgroup)]
                b_tile: &mut [[$T; $TSB * $MICB + 1]; $UNR],
                $(
                    #[spirv(storage_buffer, descriptor_set=0, binding=2)]
                    $bias: &[$T],
                    #[spirv(storage_buffer, descriptor_set=0, binding=3)] // Because we have to add specify bindings, c must be redeclared
                    c: &mut [$TC],
                    #[cfg(feature="false")]  // ugly hack to emulate c style #if false
                )?
                #[spirv(storage_buffer, descriptor_set=0, binding=2)]
                c: &mut [$TC],
                #[spirv(push_constant)]
                push_consts: &GemmPushConsts<$T>,
            ) {
               /* impl */
           }
        )+
     )
}

impl_gemm!{
    gemm_f32_tsa16_tsb16_unr16_mica1_micb1<f32, f32, 256, 16, 16, 16, 1, 1>(),
    gemm_bias_f32_tsa16_tsb16_unr16_mica1_micb1<f32, f32, 256, 16, 16, 16, 1, 1>(bias=true), // Using a macro makes it much easier and less verbose to define several different shaders with different types, a bias, and different generic parameters.
}

The full gemm impl can be found here
Essentially, bias is an optional argument, and the macro allows for this argument to be added to the generated entry definition. But this requires some gymnastics to redefine the binding of c from 2 to 3, requiring it to be redeclared. And regardless, it's extremely noisy and tedious to write #[spirv(descriptor_set = 0, binding = 0)] for every argument, when this can be inferred from argument order.
I understand there is some effort towards automatic generation of resource bindings, which may somehow conflict with defaulting to descriptor set = 0 and binding = 0.. when not specified, but this can be mitigated by explicitly opting in.
I can probably implement a workaround for my use case but it does seem like it would be very nice to remove the noise and improve the ergonomics for this. I would like to generate shader code via macros, both for simplicity and potentially for inline shader code, and that is made a lot easier if fewer things have to be specified, especially when working with a list of arguments, adding additional arguments, etc.
I'm happy to work on implementing this if it is a possibility. Otherwise I plan to implement this via a wrapper proc macro, but it would be nicer to standardize this natively.
Thoughts?

While it's easy to see some utility in this, with the way we are using rust-gpu so far, the explicit-ness of the current syntax is not a problem for us, and with limited resources, that's our focus right now.
We do have some early thoughts in a similar direction but it's still pretty far off and the design is likely to be different to this, so for the time being you're probably best off with a wrapper proc macro, unfortunately.

I just wanna chip in here and say that what I would love love love is a descriptor-sets-as-structs system, e.g. something like:
struct DescriptorSet<'a> {
    #[spirv(binding = 0, storage_buffer)] prime_indices: &'a mut [u32]
}

#[spirv(compute(threads(64)))]
pub fn main_cs(
    #[spirv(global_invocation_id)] id: UVec3,
    #[spirv(descriptor_set = 0)] descriptor_set: DescriptorSet,
) {
    let index = id.x as usize;
    prime_indices[index] = collatz(descriptor_set.prime_indices[index]).unwrap_or(u32::MAX);
}

I'm not especially opinionated as to whether binding IDs should be allowed to be inferred or not. With this above system it should be possible to have a macro tag that you put on structs to autogenerate the binding IDs anyway.

I just wanna chip in here and say that what I would love love love is a descriptor-sets-as-structs system

This is mentioned here: https://embarkstudios.github.io/rust-gpu/book/rfcs/001-resource-binding-syntax.html but I'm not sure if there's an associated issue.

I'm closing this as a won't fix for now, we have other priorities.


A Question between   SAM 1-based coordinate system and BAM 0-base coordiante system ?

HI,
I read SAMV1.pdf ,  this doc tells  us that "The SAM, VCF, GFF and Wiggle formats are using the 1-based
coordinate system" ,however  "The BAM, BCFv2, BED, and PSL formats are using the 0-based coordinate system".  but  I  use samtools to covert A BAM file into SAM file , I checked some same reads between bam file and sam file , both have same POS  !   I think  the POS the same region in the BAN should be less than 1 compared to the POS in the SAM ! but both same ,why ?

solved!


Port Not Randomized

Would it be possible to make it so the client always connect using the same port ?
I'm trying to use AutoModpack but it seems to reconize everyport as a different modpack.

Yes that would be possible but I would make it behind a switchable feature. I'll take care of it this weekend.

tysm

Which Minecraft version do you need it for?

1.18.2 and if possible for a friend 1.19.2

I've set it up so that the port depends on the address, meaning the same address equals the same port. This should fix the issue. If you encounter any further problems, feel free to reach out to me.


Bug: Blank Screen Being seen when entering the app

Describe the bug
https://xmtp-labs.slack.com/archives/C07DX271K6V/p1730215925598119
Expected behavior
No response
Steps to reproduce the bug
No response

The crash is related to the app database, in 3.0.0 it will be going away, but will keep this issue open until then