Profiling modules not being found

Is there an existing issue for this?

[X] I have checked for existing issues https://github.com/getsentry/profiling-node/issues
[X] I have reviewed the documentation https://docs.sentry.io/
[X] I am using the latest SDK release https://github.com/getsentry/profiling-node/releases

How do you use Sentry?
Sentry Saas (sentry.io)
SDK Version
0.2.2
Link to Sentry event
No response
What environment is your node script running in?
Windows 11, Node v 18.14.0, using Express
How is your code deployed and bundled?
Dependencies are required on remote and are used in runtime.
Steps to Reproduce
Added latest version of Sentry Profiling as per instructions in the documentation
Configured Sentry as follows:
`import { Express } from 'express'
import * as Sentry from '@sentry/node'
import * as Tracing from '@sentry/tracing'
import { ProfilingIntegration } from '@sentry/profiling-node'
export function initSentry(app: Express) {
Sentry.init({
dsn: '<>',
integrations: [
// enable HTTP calls tracing
new Sentry.Integrations.Http({ tracing: true }),
// enable Express.js middleware tracing
new Tracing.Integrations.Express({ app }),
new ProfilingIntegration()
],
	// Set tracesSampleRate to 1.0 to capture 100%
	// of transactions for performance monitoring.
	// We recommend adjusting this value in production
	tracesSampleRate: 1.0,
	profilesSampleRate: 1.0,
	environment: process.env.NODE_ENV
})

app.use(Sentry.Handlers.requestHandler())
app.use(Sentry.Handlers.tracingHandler())
app.use(Sentry.Handlers.errorHandler())

}`
Expected Result
That the app compiles and runs without error and that profiling works
Actual Result
Compile error occurs during compilation saying that the module for my computer cannot be found

@joshanangelofgrace can you check if binaries folder does include that file? If it does not, the module should have built the cpu bindings from source, are you seeing any errors when you run npm i @sentry/profiling-node?

@joshanangelofgrace any updates on this?
would you mind running npm install --verbose --foreground-scripts @sentry/profiling-node in an empty directory and sending us the logs?

+
In docker node:20-alpine
"@sentry/profiling-node": "^1.0.2",

Node.js v20.3.0
node:internal/modules/cjs/loader:1070
  const err = new Error(message);
              ^

Error: Cannot find module './sentry_cpu_profiler-linux-x64-musl-115.node'
Require stack:
-<EMAIL_ADDRESS>
    at Module._resolveFilename (node:internal/modules/cjs/loader:1070:15)
    at Module._load (node:internal/modules/cjs/loader:923:27)
    at Module.require (node:internal/modules/cjs/loader:1137:19)
    at require (node:internal/modules/helpers:121:18)
    at importCppBindingsModule (file:///app/node_modules/@sentry/profiling-node/lib/index.mjs:16688:14)
    at file:///app/node_modules/@sentry/profiling-node/lib/index.mjs:16692:34
    at ModuleJob.run (node:internal/modules/esm/module_job:192:25)
    at async DefaultModuleLoader.import (node:internal/modules/esm/loader:246:24)
    at async loadESM (node:internal/process/esm_loader:40:7)
    at async handleMainPromise (node:internal/modules/run_main:66:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [<EMAIL_ADDRESS>]
}


2021-08-03 equity dashboard chart data update

Equity dashboard stats updates in this PR may be reviewed on staging - here.
After reviewing, if all looks well, approve and merge this Pull Request.
If there are issues with the data:

Note concerns or issues here by commenting on this PR
Work with Triston directly to resolve data issues
Alert the COVID19 site team in Slack (in the Equity page channel)

Good afternoon everyone - Here are notes from today's data review. As always, @vargovargo, please do review as needed!!
:heavy_check_mark: Everything seems normal, and I observe no major red flags!
:bulb: Noticeable highlights this week:
:bulb: Death rate for Black people (Blue Box 3) increases by 1% to a value of 10% after 7 consecutive weeks at 9%
:bulb: Statewide COVID Deaths/100K remains at 1. After 13 consecutive weeks at 1, Black COVID Deaths/100K increases to 2. Similarly, after 7 consecutive weeks at 0, Asian American COVID Deaths/100K increases to 1. Other rates remain identical to last week (stay at 1, 2, or <11).
:bulb: Income bracket cases/100K and statewide case rate continue to noticeably increase this week. Like last week, higher and lower income brackets show similar case rates: $60-80K case rate (18.1) > $40-60K (17.9) > $80-100K (17.6) > $0-40K (17.3)
:bulb: Statewide case rate (16.9) is closest to higher income brackets — it is numerically in between $80-100K and $100-120K bracket cases/100K value.
:bulb: HE Quartile & Statewide Positivity continue to increase (increasing trend began 06/22/21).
HE Quartile Increase: 1.5 (Last week: 1.9 increase)
Statewide Positivity Increase: 1.3 (Last week: 1.6)
Thank you!
1. Blue Box Updates:
:heavy_check_mark: All values appear reasonable —
Like last week, Case Rate for Pacific Islanders (Blue Box 2) increases by 1% to a value of 38%
Like last week, Case rate for communities with median income (Blue Box 4) decreases by 1% to a value of 35%
:bulb: Death rate for Black people (Blue Box 3) increases by 1% to a value of 10% after 7 consecutive weeks at 9%
2. Death Rate/100K by R&E:
:heavy_check_mark: All numbers are reasonable.
:bulb: Statewide COVID Deaths/100K remains at 1. After 13 consecutive weeks at 1, Black COVID Deaths/100K increases to 2. Similarly, after 7 consecutive weeks at 0, Asian American COVID Deaths/100K increases to 1. Other rates remain identical to last week (stay at 1, 2, or <11).
:heavy_check_mark: % of COVID-19 deaths statewide changed significantly (≥0.5%) for the following categories — Asian American, White & Black show increases in % of deaths statewide:
Black: ~1.2% increase in % of deaths statewide (similar to last week’s ~2.5% increase)
White: ~1.1% increase in % of deaths statewide (contrast to last week’s ~1% decrease)
Latino: ~5% decrease in % of deaths statewide (similar to last week’s ~1% decrease)
Asian American: ~3% increase in % of deaths statewide
3. Case Rate/100K by R&E:
:heavy_check_mark: Noticeable increases occur in all Case/100K rates. All values appear reasonable.
:heavy_check_mark: Cases relative to percentage of population in CA did not change significantly (≥0.5%) for any categories except:
Black: 0.9% decrease in % of cases statewide (similar to last week’s 0.6% decrease)

Latino: 0.8% increase in % of cases statewide
4. Testing Rate/100K by R&E:
:heavy_check_mark: Like last week, Noticeable increases occur in all Testing/100K rates this week. Larger rates of increase observed than last week.
:heavy_check_mark: Testing relative to percentage of population in CA did not change significantly (≥0.5%) for any categories.
5. Mortality rate/100K vs. Case rate/100K
:heavy_check_mark: Sanity Check — Mortality rate/100K < Case rate/100K for all categories (as expected).
6. Community case rate/100K by median annual household income bracket:
:bulb: Income bracket cases/100K and statewide case rate continue to noticeably increase this week. Like last week, higher and lower income brackets show similar case rates: $60-80K case rate (18.1) > $40-60K (17.9) > $80-100K (17.6) > $0-40K (17.3)
:bulb: Statewide case rate (16.9) is closest to higher income brackets — it is numerically in between $80-100K and $100-120K bracket cases/100K value.
7. HE Metric:
:bulb: HE Quartile & Statewide Positivity continue to increase (increasing trend began 06/22/21).
HE Quartile Increase: 1.5 (Last week: 1.9 increase)
Statewide Positivity Increase: 1.3 (Last week: 1.6)
:heavy_check_mark: X-Axis (Dates) successfully extended.
8. Data completeness (DC):
:heavy_check_mark: DC values show some significant changes (≥0.5%) this week, specifically the following:
R&E Deaths DC: decreased by 1.4% (contrast to last week’s ~1% increase)
SO Cases DC: decreased by ~1% (similar to last week’s 1.1% decrease)
SO Deaths DC: decreased by ~3% (similar to last week’s 1.2% decrease)


Update dependencies

Drops 1.18 support

Hey @prodion23 can we file JIRA to look at some of these gosec issues? https://github.com/hypertrace/goagent/pull/214/checks?check_run_id=14688939422 Thanks.


[Feature] Downloading matplotlib/plotly figures using api

I'd like to be able to download a figure that is logged using
wandb.log({"figname": fig})
Where fig is a plt.Figure object. These figures are interactive online so i feel this is possible to implement (if it is sorry i haven't found it in the docs).
A method in the api to download logged matplotlib/plotly figures.
I tried this but could not find it in run.history() or anywhere.
Thanks!

Update:
I see i can load the data using run.summary.get('figname') but I'm not sure what to do with what is returned. It looks like:
{'_type': 'plotly-file', 'sha256': '...', 'path': 'media/plotly/figname_2360_8c01535791d0b85017ef.plotly.json', 'size': 23336}
It is possible to turn this into a plotly or matplotlib figure? That would be great.
Thanks again.

Hi @ianbenlolo , there's not currently a way to do this with the API but this seems like a totally reasonable and potentially valuable feature request. I'll file a ticket internally and let you know when there's any movement.

I was looking for exactly that feature. Would be nice to download and manipulate some of the plots to create more custom reports. Maybe worth to reconsider?

Hi @ErikJSchmidt, thank you for following up on this! The Plotly figure can be converted into a JSON object, which you can download using the API. However, reconstructing the Plotly panel from this file would require additional logic on your end. I've added you to the internal ticket tracking this feature request and will keep you updated with any developments.


jmolecules-bytebuddy: Support for persisting a list of ValueObjects

Hello, thanks a lot for this project!
As it is stated in jmolecules-bytebuddy's readme, JPA annotations are generated for AggregateRoot and Entity.
I experimented a bit and persisting a ValueObject being a field within an AggregateRoot worked for me as well. I looked a bit at the source code and it seems to me that @Embeddable is generated for ValueObject in this case.
However, what didn't work for me is to have a list of ValueObjects within an Aggregate Root. To make it I work in this case, I had to manually annotate the respective field with the @OneToMany annotation and use @Entity, @Id and @GeneratedValue for the ValueObject. This worked on it's own, however, I ran into problems when the AggregateRoot both had a field of ValueObject and a field of a list the same ValueObject type (I haven't looked into this further yet though).
Would it be possible to add support for generating JPA annotations for a list of ValueObjects as well?

I think simply manually annotating the List<YourValueObject with @ElementCollection is what JPA would require here. I think we could generate those.

I tested it and it works. Thanks!


Get projectId from gcloud active config

This addresses the first part of #827: "Wrong gcloud command configuration is loaded"

Coverage decreased (-0.04%) to 85.471% when pulling 33f740a133c75bce924bfbebfae289480512004f on mziccard:active-gcloud-project into 4b1a4fd3cf9624983dd35a048d26d11bfe12aa61 on GoogleCloudPlatform:master.

Coverage decreased (-0.05%) to 85.453% when pulling 379a0a89e116413827339169361879480fec703b on mziccard:active-gcloud-project into 4b1a4fd3cf9624983dd35a048d26d11bfe12aa61 on GoogleCloudPlatform:master.

@aozarov Now the code fallbacks to default if the file is empty.


ENH: add pretty printer for DecaExpr

Add a pretty printer for the DecaExpr type.

This should use show in place of pprint.

An IRL discussion on the pprint name being resolved, and more extensive review to be performed on the branch that this is being merged into, I am going to go ahead and merge this PR.


TO GO: Invalid password validation with tests

What does this PR do?
This PR implements password validation.
This was originally from #2834, just trying to break it up a little bit.
What is the best way to verify this PR?
Run the tests!! (and suggest adding more if you think the tests are insufficient)
Check all that apply

[x] This PR includes tests
[ ] This PR includes documentation updates
[ ] This PR includes an update to CHANGELOG.md
[ ] This PR includes all required license headers
[ ] This PR includes a database migration (ensure that migration sequence is correct)
[ ] This PR fixes a serious security flaw. Read more: www.apache.org/security

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2477/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2481/
Test PASSed.


Wrong link

"Download the most recent version to your machine from Github." points to the wrong Github repo. It should point to: "https://github.com/Azure/Azure-IoT-Security-Agent-C".

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

ID: 9026f1c6-a553-9901-bf34-d6843f4f1ede
Version Independent ID: a46c4d1c-9633-8777-982d-5f6886866f51
Content: Guide to install and deploy Linux C agent of ASC for IoT agent Preview
Content Source: articles/asc-for-iot/how-to-deploy-linux-c.md
Service: ascforiot
GitHub Login: @mlottner
Microsoft Alias: mlottner

@mibarg Thanks for the feedback! I just tested from the doc Guide to install and deploy Linux C agent of ASC for IoT agent Preview and the link resolves to https://github.com/Azure/Azure-IoT-Security-Agent-C for me

Cool, we can close this issue. Thanks!


How to prevent the horizontal swiping in XLPagerTabStrip.

I have implemented the XLPagerTabStrip to display 4 tabs.
Each Tab has UITableView inside it.
But now I can't swipe the tableview cell to delete because tab bar swiping is fired whenever I try to swipe the tableview cell.
How can I solve this issue?

You can disable horizontal scrolling by setting:
containerView.isScrollEnabled = false

in your PagerTabStripViewController


rust's #[derive(DisjointUnion)] derives incorrect bottom and top.

The "bottom" element of a Lattice is the identity element of the "join" operation.
The "top" element of a Lattice is the identity element of the "meet" operation.
But when using the #[derive(DisjointUnion)] macro, I can create elements for which x.clone().join(bottom) != x and x.clone().meet(top) != x.
Reproducible Example
These tests should pass:
use sparta::datatype::PatriciaTreeSetAbstractDomain;
use sparta::datatype::DisjointUnion;

#[derive(Debug, Clone, PartialEq, Eq, DisjointUnion)]
enum X {
    A(PatriciaTreeSetAbstractDomain<u32>),
    B(PatriciaTreeSetAbstractDomain<u32>),
}
#[test]
fn test_bottom_is_identity_element_of_join_operation() {
    let mut b = X::B(PatriciaTreeSetAbstractDomain::Value(Default::default()));
    let b2 = b.clone();
    b.join_with(X::bottom());
    assert_eq!(b, b2);
}

#[test]
fn test_top_is_identity_element_of_meet_operation() {
    let mut b = X::B(PatriciaTreeSetAbstractDomain::Value(Default::default()));
    let b2 = b.clone();
    b.meet_with(X::top());
    assert_eq!(b, b2);
}

but they fail with the following error message:
---- value::tests::test_bottom_is_identity_element_of_join_operation stdout ----
thread 'value::tests::test_bottom_is_identity_element_of_join_operation' panicked at src/value.rs:237:9:
assertion `left == right` failed
  left: A(Top)
 right: B(Value(PatriciaTreeSet { storage: PatriciaTree { root: None }, _key_type_phantom: PhantomData<u32> }))
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- value::tests::test_top_is_identity_element_of_meet_operation stdout ----
thread 'value::tests::test_top_is_identity_element_of_meet_operation' panicked at src/value.rs:245:9:
assertion `left == right` failed
  left: A(Bottom)
 right: B(Value(PatriciaTreeSet { storage: PatriciaTree { root: None }, _key_type_phantom: PhantomData<u32> }))

Solution
replace https://github.com/facebook/SPARTA/blob/bd758a81954dc2c8fe75c8b32ab42d327fc4d895/rust-proc-macros/src/lib.rs#L87-L99 with
    fn join_with(&mut self, rhs: Self) {
        if self.is_bottom() {
            *self = rhs;
            return;
        }
        if rhs.is_bottom() {
            return;
        }
        match (self, rhs) {
           #( (#enum_name::#variant_idents(ref mut ldom), #enum_name::#variant_idents(rdom)) => ldom.join_with(rdom), )*
           (s, _) => *s = Self::top(),
        }
    }

    fn meet_with(&mut self, rhs: Self) {
        if self.is_top() {
            *self = rhs;
            return;
        }
        if rhs.is_top() {
            return;
        }
        match (self, rhs) {
          #( (#enum_name::#variant_idents(ref mut ldom), #enum_name::#variant_idents(rdom)) => ldom.meet_with(rdom), )*
          (s, _) => *s = Self::bottom(),
        }
    }

Hey @kaidaniel, thank you for finding the bug. Since you have the solution, do you want to create a PR to fix this? You can also add your example to a test.
If you intend to do that, a small suggestion is to incorporate the two if statements into the pattern matching here.

Hi @yuxuanchen1997 - yes I'll go ahead and raise the PR :)


Documentation for vscode setup

Body of the issue
Ref: https://github.com/inventree/InvenTree/pull/3474
We need to add a separate installation / setup guide for debugging with vscode.

Add new page to "setup" group
Add informational videos

Add a "developer guide" here

@luwol03 regarding videos, it might be good to split the documentation into logical sections and have shorted individual videos for each. Some rough ideas below...
Setup / Installation

Download source code
Install required extensions
Open workspace
Build container

Install Demo Dataset

Run task
???

Debug Examples

Start server under debug mode
Show debugging with breakpoints

Other?

Maybe demonstrate some of the other available tasks

Do we also need to show how to install vscode and docker?

Might be a good idea as a "prerequisite" section

But then we need to split that between windows/macOS/linux?

I'd say we can simplify it to "you should have these things installed", not show how to install for each OS.

@luwol03 do you have any time to submit a PR with this? Hoping to release the next stable version soon, would be great to have this documentation included.

@SchrodingersGat Sorry to say, but I'm recently very busy. I don't think I can get this done. So I'm fine if you could take this over.


ITK Testing Macros should be prefixed with ITK_

Description
In general we should have an ITK prefix for macros so we know where they come from and avoid conflicts. However, this should be the case with all the testing macros:
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/TestKernel/include/itkTestingMacros.h
Expected coding style
ITK Macros should be prefixed with ITK_
Actual coding style
There are inconsistencies.

The remote module's should be migrated to new name with ITK_ prefix, but the ITK version used in remote's CI testing need to be updated to include the new definitions. Otherwise the CI will be broken. Should we update modules' CI to use the current master, or wait until we have released 5.1.0 and then update the remotes? @thewtex @jhlegarreta

IMHO, once a release is tagged, there is little benefit of linking the remotes' master against that release, since in the subsequent ITK release we will want the remotes to be successful with the new ITK release, not the former one. And that means that they should be successful against ITK master up to a given point in time. If they are only tested when the release is tagged and the Azure CI version updated, we may be holding a number of potential issues that will be uncovered at that point, which will concentrate the workload to that very moment.
If I do get it right, the Expected Nightly Remote Modules section in CDash tests nightly the remotes against ITK master. But it does so using the remote module commit hash that is present in the *.remote.cmake file, which may be behind the corresponding remote's master.
On the other hand, when generating the remotes' wheels to be uploaded to PyPI, we will want them to be tested against an ITK release version. Not sure whether this is the logic behind the PR Matt opened in the ITKModuleTemplate.
But I may be missing some piece of information to understand the mentioned PR, and the workload concerning the CI's that all this involves.

Follow-up work in #1015 and #1081.


AMICA fails to converge

Hi,
I am running AMICA1.7 through eeglab2024.2 on Matlab 2023B to decompose 1-second epochs of EEG data (size(EEG.data): 116 x 256 x 1000). In a first attempt with the default number of iterations set at 2000 ('pca' =115), AMICA failed to converge and stopped after reaching 2000 trials (as instructed). Increasing the number of max. iterations to 10000 results seems affects the duration of a single iteration (it increases) in the AMICA algorithm as well. I was wondering if this is expected behavior? Does the lack of convergence also imply that something may be wrong with the data?
Kind regards,
Joris

Hi Joris,
The iteration time shouldn’t increase with the max iterations. I’m not sure why that would happen. Only the LL output increases which is written every ‘writestep’ iterations, but even at writestep of 1 it shouldn’t really increase iteration time going from 2000 to 10000 length.
It may be that there is noise in the data causing the lrate (learning rate) to be decreased so small that it doesn’t really move. Check the out.txt to see the lrate over iterations. I would check the data for large artifact periods. You can do a quick check doing >>figure, plot(EEG.data(:,:)’), and look for large spikes in amplitude. You can’t always see such periods looking at the data in eeglab scroll plot. Or try rejecting epochs by inspection.
If the lrate stays constant at 0.5 or maybe 0.25 or 0.125, it should converge such that the nd (norm of the delta weights) is less than 0.00005 and LL is increasing in the 8th or 9th decimal place. It usually doesn’t reach the default stopping conditions for nd or LL change, but if the nd is small and the LL changing in 8th or 9th decimal there probably won’t be any more detectable changes. I usually run it for 2500 max iterations by default.
Best,
Jason
From: jvdc8 @.>
Sent: Thursday, November 28, 2024 7:24 AM
To: sccn/amica @.>
Cc: Subscribed @.***>
Subject: [sccn/amica] AMICA fails to converge (Issue #48)
Hi,
I am running AMICA1.7 through eeglab2024.2 on Matlab 2023B to decompose 1-second epochs of EEG data (size(EEG.data): 116 x 256 x 1000). In a first attempt with the default number of iterations set at 2000 ('pca' =115), AMICA failed to converge and stopped after reaching 2000 trials (as instructed). Increasing the number of max. iterations to 10000 results seems affects the duration of a single iteration (it increases) in the AMICA algorithm as well. I was wondering if this is expected behavior? Does the lack of convergence also imply that something may be wrong with the data?
Kind regards,
Joris
—
Reply to this email directly, view it on GitHub https://github.com/sccn/amica/issues/48 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRBESQAVXK5Y6OMAOI3CTD2C4DO7AVCNFSM6AAAAABSVARQSKVHI2DSMVQWIX3LMV43ASLTON2WKOZSG4YDCOJZGU2TGNQ .
You are receiving this because you are subscribed to this thread.  https://github.com/notifications/beacon/ACRBESSFUOTAEUNFTA7COYD2C4DO7A5CNFSM6AAAAABSVARQSKWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHKCDJOCA.gif Message ID: @.*** @.***> >


Patched version of KeOps

Hi, is there a reason for using the patched version of KeOps? https://github.com/FalkonML/falkon/blob/master/setup.py#L176-L177

Hi @ghaorui it's not necessarily a patched version, just a commit I had tested to work. I'll have a look if I can point to a release or maybe pypi! Thanks for bringing this up.


How to generate npy files

I downloaded the public dataset and tried to run the code. It is found that there is no npy file, and the readme does not say how to generate the npy file. Please also explain how to generate npy files。

Did you solve this problem？

请问这个问题解决了吗

Has anyone solved how to generate .npy?

请问这个问题解决了吗

I have the same doubt as you. Have you already solved it?

I suggest to use the CSV files -
https://drive.google.com/file/d/1gz61vnMANj-4hKNvZv1KFK9LajR91X-m/view?usp=drivesdk
.
Just download them and then, you should create npy files out of them.
TrafficParser (the folder) -
Contains the code use to generate the dataset (npy files) per experiment.
You should run the scripts in the following order:

Run traffic_csv_converter.py
Run datasets_generator.py

The other two scripts (generic_parser.py + traffic_csv_merger.py) used to
generate the proceesed dataset. So if you use the csv files, you don’t need
them.
Only then you can run the notebooks.
Please change this PATH according to your chosen location, and the specific
experiment you would like to run
PATH_PREFIX = "D:/TS/Internet Traffic
Classification/datasets/overlap_multiclass_reg/overlap_multiclass_"
Best regards,
Tal Shapira, P.hD.
On Wed, 27 Sep 2023 at 11:59 phm2023UAM @.***> wrote:

请问这个问题解决了吗
I have the same doubt as you. Have you already solved it?
—
Reply to this email directly, view it on GitHub
https://github.com/talshapira/FlowPic/issues/4#issuecomment-1736993110,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNVXS4UVUWPPKIR3RA2QULX4PTG5ANCNFSM6AAAAAASNBGDR4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

thx for your reply，got it！
------------------ Original ------------------
From: talshapira @.>
Date: Sat,Oct 7,2023 2:33 PM
To: talshapira/FlowPic @.>
Cc: buptlr @.>, Comment @.>
Subject: Re: [talshapira/FlowPic] How to generate npy files (Issue #4)
I suggest to use the CSV files -
https://drive.google.com/file/d/1gz61vnMANj-4hKNvZv1KFK9LajR91X-m/view?usp=drivesdk
.
Just download them and then, you should create npy files out of them.
TrafficParser (the folder) -
Contains the code use to generate the dataset (npy files) per experiment.
You should run the scripts in the following order:
1. Run traffic_csv_converter.py
2. Run datasets_generator.py

The other two scripts (generic_parser.py + traffic_csv_merger.py) used to
generate the proceesed dataset. So if you use the csv files, you don’t need
them.
Only then you can run the notebooks.
Please change this PATH according to your chosen location, and the specific
experiment you would like to run
PATH_PREFIX = "D:/TS/Internet Traffic
Classification/datasets/overlap_multiclass_reg/overlap_multiclass_"
Best regards,
Tal Shapira, P.hD.
On Wed, 27 Sep 2023 at 11:59 phm2023UAM @.***> wrote:
> 请问这个问题解决了吗
>
> I have the same doubt as you. Have you already solved it?
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/talshapira/FlowPic/issues/4#issuecomment-1736993110>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AFNVXS4UVUWPPKIR3RA2QULX4PTG5ANCNFSM6AAAAAASNBGDR4>
> .
> You are receiving this because you are subscribed to this thread.Message
> ID: @.***>
>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Please, Who solved this issue?


Syntax highlight for postcss

增加了对postcss的语法高亮#51

can we have postcss syntax use these css3 language completions?
https://github.com/y0ssar1an/CSS3


Invalid Path

When trying to pull down the library via maven there are dependency issues. I excluded the annotations dependency since the maven link is dead. The rxandroid dependency under rxbinding doesn't work. States that there is a "broken path." Any thoughts on this?

Can you provide more information? As far as I can tell this is a build system issue and not an issue with the library.

I can try. I add in the maven dependency in my project pom

com.jakewharton.rxbinding
rxbinding
0.4.0

Then when I go to refresh/download all of my project dependencies it fails to download two dependencies. Them being
io.reactivex:rxandroid:1.1.0
com.android.support:support-annotations:23.1.0
the second one isn't available in maven so that's not surprising. But the first one should be available. Also, there isn't any issue downloading the rxjava dependency.

Hmm it sounds like a bug in the android-maven-plugin. (You are using the android-maven plugin, right?) It should be able to handle aar dependencies (including their transitive dependencies) just fine.

Yeah, I am using the android-maven-plugin. Must be something specific to my build environment since I would think others would see this as well. I guess this can get closed. I'll have to figure out whats wrong. Odd that it does resolve one of the dependencies though. Thank you.

Actually I'm just willing to bet everyone else is using Gradle at this
point so it's unlikely that many aars with dependencies are being consumed
by Maven.
On Thu, Jun 23, 2016 at 3:38 PM Wy-Nasty<EMAIL_ADDRESS>wrote:

Yeah, I am using the android-maven-plugin. Must be something specific to
my build environment since I would think others would see this as well. I
guess this can get closed. I'll have to figure out whats wrong. Odd that it
does resolve one of the dependencies though. Thank you.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JakeWharton/RxBinding/issues/260#issuecomment-228160764,
or mute the thread
https://github.com/notifications/unsubscribe/AAEEEe6zqoVNZkom2YmP-6mCon_n4p0jks5qOuDIgaJpZM4I9Ii0
.

Yeah that makes sense. Well, I think I got it to work. Had to explcitly define all dependencies and types. Kind of wonky, but hey, if it works. Thank you sir


Not able to register a user using the default authrization

I am trying to use the default server side authentication. The authentication type is Individual User Accounts which store user accounts in the app.
The template source is .NetCore 3.0.0preview8
on trying to build or restore this template i get these errors

C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102: Unable to find package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore with version (>= 3.0.0-preview8.19377.1) [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 39 version(s) in nuget.org [ Nearest version: 3.0.0-preview7.19365.7 ] [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 0 version(s) in Microsoft Visual Studio Offline Packages [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102: Unable to find package Microsoft.AspNetCore.Identity.EntityFrameworkCore with version (>= 3.0.0-preview8.19377.1) [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 43 version(s) in nuget.org [ Nearest version: 3.0.0-preview7.19365.7 ] [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 0 version(s) in Microsoft Visual Studio Offline Packages [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102: Unable to find package Microsoft.AspNetCore.Identity.UI with version (>= 3.0.0-preview8.19377.1) [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 21 version(s) in nuget.org [ Nearest version: 3.0.0-preview7.19365.7 ] [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 0 version(s) in Microsoft Visual Studio Offline Packages [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102: Unable to find package Microsoft.EntityFrameworkCore.SqlServer with version (>= 3.0.0-preview8.19375.5) [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 49 version(s) in nuget.org [ Nearest version: 3.0.0-preview7.19362.6 ] [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 0 version(s) in Microsoft Visual Studio Offline Packages [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102: Unable to find package Microsoft.EntityFrameworkCore.Tools with version (>= 3.0.0-preview8.19375.5) [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 51 version(s) in nuget.org [ Nearest version: 3.0.0-preview7.19362.6 ] [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.csproj : error NU1102:   - Found 0 version(s) in Microsoft Visual Studio Offline Packages [C:\Users\anagniho\source\repos\BlazorApp13\BlazorApp13.sln]
    0 Warning(s)

on changing the version number of these packages I am able to run the app but when I try to register a user I get this as an error
A database operation failed while processing the request.
SqlException: Cannot open database "aspnet-BlazorApp12-B3ECC860-8EE2-47B6-A183-70CCCE48D158" requested by the login. The login failed. Login failed for user 'REDMOND\anagniho'.

Applying existing migrations for ApplicationDbContext may resolve this issue
There are migrations for ApplicationDbContext that have not been applied to the database
00000000000000_CreateIdentitySchema
Apply Migrations
In Visual Studio, you can use the Package Manager Console to apply pending migrations to the database:
PM> Update-Database
Alternatively, you can apply pending migrations from a command prompt at your project directory:
> dotnet ef database update

I tried running the dotnet ef database update but there is no dotnet ef command

What version of preview 8 did you use? Where did it come from?

Thanks for contacting us, @Anipik.
It seems you've got some misconfiguration on your end.
Please make sure you have all the correct feeds setup as specified here: https://github.com/aspnet/AspNetCore/blob/master/docs/DailyBuilds.md

@mkArtakMSFT adding nuget.config fixes the build error on using the preview 8 version of .NET core but it still failing with same error when I try to register the user.

@HaoK do you have any suggestions here?
@Anipik also try to restart the LocalDB instance as that can be a reason for this behavior.

@Anipik you definitely need to apply migrations to create the database successfully.  Normally there's an error page that lets you do that in development (for non blazor pages), you might have to manually run the migrations here.  I believe you need to register the dotnet ef command before its found, see: https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
including @ajcvickers as well

@Anipik did @HaoK 's suggestion resolve your issue? Should this be closed now?


Add eslint

This PR is meant to address some of what's required to add eslint. Including:

Adding eslint dependencies
Adding the eslint config
Adding changes from running npm run lint

Things not covered in this PR (so far?):

No Github Action
There are still errors if you npm run lint that I think will require manual changes.

I did have some questions though. Would you prefer that I make this PR smaller by not including any js file changes? (including removing the --fix flag from lint)
OR
Would you like me to take a shot at resolving the linting errors?
The first option might be better just so I don't get added to the blame for all these files 😅
I'm also not really a javascript dev. Most of my experience is with Go/Java/Rust, but hopefully this is close to what you were looking for. Thanks!

Hey there, I think resubmitting with the --fix disabled for now is probably a good idea-- especially since I just merged a couple smaller PRs that are causing merge conflicts as a result (sorry!)
Once that's in I can handle a change soon to turn the fix flag back on, resolve the errors myself (since the codebase is 99% my mess at this point), and usher in a new era of formatting.
I'm not too picky about JS specifics for now; until sometime this year I don't think I would have considered myself a JS dev either. I'm mostly interested in getting some sensible defaults in place that we can adapt as we go if we realize something compelling (or if an expert shows up to explain why we should be using something else). This is a useful start to that effect, imo, so thanks.

Hi @ckolderup I think this PR should be ready for review again. With this PR you can npm run lint to see all the errors/warnings. I may follow-up with a Github Action PR later this week to get this running in CI if no one else gets to it.


Make .jshintignore match .gitignore syntax & semantics

Previous issues: https://github.com/jshint/jshint/issues/1757 https://github.com/jshint/jshint/issues/1745 and ongoing PR: https://github.com/jshint/jshint/pull/1758
@sebmaster ran into another problem not documented: when he tried
lib/*
!lib/x/y.js

it failed to lint lib/x/y.js.
In general it would be nice to just reuse one of the hopefully-more-compatible ignorefile packages on npm to make this behave like the ignorefiles we are all used to, i.e. gitignore, npmignore, etc.

And one more: https://www.npmjs.com/package/ignore


Allow _FillValue and missing_value to differ (Fixes #1749)

The CF standard permits both values, and them to have different values, so we should not be treating this as an error--just mask out all of them.

[x] Closes #1749 (remove if there is no corresponding issue, which should only be the case for minor changes)
[x] Tests added (for all bug fixes or enhancements)
[x] Tests passed (for all non-documentation changes)
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API (remove if this change should not be visible to users, e.g., if it is an internal clean-up, or if this is part of a larger project that will be documented later)

Test failures look unrelated--they also happen to me locally. Installing SciPy 1.0.0 locally fixes them, so I'm guessing they're caused by SciPy 1.0.1.

please merge in master, which fixes the failing tests.

Rebased on current master.

Fixed flake8 (unnecessary import)

Reworked due to corner case with PyNio on Python 2.7. Final solution looks simpler to me.

thanks!

It seems that this PR exposed a new encoding key 'missing_value', and this makes the encoding fail to round-trip, as it is not explicitly allowed in xarray.backends.netCDF4_._extract_nc4_variable_encoding function (similar to #1869).
This leads to the following error when saving with an explicitly preserved encoding:
ValueError: unexpected encoding parameters for 'netCDF4' backend:  ['missing_value']

@shoyer Happy to put in a PR to address...provided you can tell me what that should actually look like. 😁

Well, we're not going to perfectly round-trip data that uses both _FillValue and missing_value. That isn't possible with xarray's data model.
But we should certainly not raise errors when round-tripping. I see a few reasonable options:

Don't store missing_value in encoding. This would entail removing the use of pop_to with missing_value in decode().
Add some logic to encode() to check which of _FillValue and/or missing_value are defined. Use the attribute is defined and write it to attribute. If both are defined, ignore/drop missing_value.

As a regression test, we should verify that code.encode(coder.decode(var)) == var (including explicitly checking encoding).


PR of pester quiet param fix and usebaicparsing for some pester tests.

Description
Fixed the combination of using the OVF -TestFilePath parameter with invoke-pester -quiet or -show. The code, when using the -TestFilePath parameter did not take into consideration the version of Pester and therefore the warning about -Quiet.
While running the Pester tests. Several tests failed as I was using a user through "Runas" while in a Windows user session that is a non-admin user. The "Runas" user does not have IE configured in its profile and therefore the invoke-webrequest cmdlet fails without the -UseBasicParsing parameter. I added that to several tests to avoid this error. Shouldn't be an issue as it is very simple requests via that is tried with invoke-webrequest.
Related Issue
#28
Motivation and Context
To get rid of an unnecessary warning. That is already fixed for other parameters in OVF.
How Has This Been Tested?

Ran invoke-operationvalidation on actual tests on MacOS and thereby PowerShell core Beta v8.
Executed all the Pester tests provided in the repo.

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] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes. <-- I think the current tests already covers.
[ X] All new and existing tests passed.

This change is

This look good to me @larssb. Thanks!

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: larssb sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Finally signed. I hope it will a breeze to merge it.
@devblackops have a good 1.


pip install uniq not working

Hi
The attached image shows what happens when I try to install uniq via pip.
Did you mean to literally just use pip, or were you expecting the repository to have been cloned first? In, any case, I tried cloning too, and that didn't seem to work.
What did work was:
sudo python setup.py install
Thanks
Nathan

Hi Nathan,
Ubuntu 16.04 comes by default with Python 3.5.1. By using 'pip install uniq' you have installed a Python2 version of uniq. Please try 'pip3 install uniq' for installing uniq.
However you might have to first install pip3. Please use the command 'apt-get install python3-pip'. You can also refer the blog: http://askubuntu.com/questions/778052/installing-pip3-for-python3-on-ubuntu-16-04-lts-using-a-proxy - to know how to install pip3 on Ubuntu 16.04.
The sequence would be -
apt-get install python3-pip
pip3 install uniq
pip3 freeze (to know the list of installed packages)
Thanks,
Hima

Will be tracked in  https://github.com/CiscoDevNet/uniq/issues/28


german translation

German translation.
But i think it would be great to have a switch inside preferences to change the language.
Because not everyone wants to use the app in native language or language of the operating system.

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

GitHub release
v2.3.0

Your semantic-release bot :package::rocket:


added release of meshery v0.3.13

Signed-off-by: ashiscs<EMAIL_ADDRESS>

@leecalcote sir, ready to be merged !!


need ability to pull frequency plan from miner / gateway-rs

currently, we have an environment variable set for REGION_OVERRIDE which determines the frequency plan and by extension the region in the settings.toml file.
At some point, it should be possible to get the frequency plan from the asserted location of the miner from the gateway-rs application.
Once this is possible, we need to implement this functionality here too
Relates to https://github.com/helium/gateway-rs/issues/43

This is now added in https://github.com/helium/gateway-rs/pull/193

this will not require any action in this repo. We can close this.


Add deprecation notices for old k8s

Adds upgrade and install notes for 1.2.0 not supporting old kubernetes

This is merged into the wrong branch! It should be reverted!

/revert


PT_R{7,9} can cause build issues on some architectures

Hi! When building nanopolish for Debian, we noticed some build failures on PowerPC architectures due to a name clash of
the PT_R7 and PT_R9 enums with values defined by some architecture-specific header. Please find more information in our original bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960634
As a fix, it is sufficient to simply rename these to some other value, e.g. PT_R7 -> PORETYPE_R7. I'd be happy to send a PR if that is OK with  you.

Thanks for this. Yes, changing that enum to be PORETYPE_R7 would be a good fix. I'd appreciate a PR with that change.
An additional poretype (PT_R10) is defined in the unmerged r10 branch of the code. If you make the change on master we can rebase the r10 branch and change there as well.

I have just opened a PR. Thanks for your quick response!


Suggested Voter Guide: Import Positions Button not updating more_info_url

This process that isn’t grabbing the changed more_info_url value: https://api.wevoteusa.org/vg/generate_voter_guide_possibility_batch/?voter_guide_possibility_id=1503

Hello @irascible, I was in this code for another reason, and I think I see why the more_info_url value isn't updating:
WeVoteServer/voter_guide/controllers.py line 252 (extract_import_position_list_from_voter_guide_possibility)
We aren't even pulling the more_info_url from the individual VoterGuidePossibilityPosition position, but instead are currently pulling it from the overall VoterGuidePossibility. I will fix this since I have to fix a parallel field, and report back so you can verify.

@DaleMcGrew: thanks, and good timing--I was nerving myself up to take another look at it this morning.

Fixed and verified.


@defunkt Is this project still being maintained?

@defunkt Is this project still being maintained?
Originally posted by @unimatrixZxero in https://github.com/defunkt/dotjs/issues/118#issuecomment-63792823

https://github.com/defunkt/dotjs/commit/434eaba374b02a3ee7e056408bb1c0fe76e837d3

@defunkt Is this project still being maintained?
Originally posted by @unimatrixZxero in #118 (comment)


ACM-13644-Implement AcmSearchInput (advanced search input)

Regarding: ACM-13644
Before:

After:

/hold
code smells

/lgtm

/unhold


APIv2: Roadmap

It would be great to know in which stage of the APIv2 migration plan we are according to Go Protocol Buffer API Improvements
What users can do at this point in order to help with testing and validation?

You can follow all of the blocks-v2 label. When they are all gone, the release will be soon afterwards.


Unicorn compatible connection resetting

When running a Rails application under unicorn, shared resources like open sockets should be closed before forking occurs.  In example configurations, a line like this is typically in the "before_fork" section of the unicorn.rb:
if defined?(ActiveRecord::Base)
  ActiveRecord::Base.connection.disconnect!
end

And this is in after_fork:
if defined?(ActiveRecord::Base)
  ActiveRecord::Base.establish_connection
end

Documentation on what needs to be done with db_charmer would be very useful.  I suspect I can do something with DbCharmer::ConnectionFactory or one of the proxy classes, but it isn't 100% clear to me.  A "shut down all my open connections" method would be great, and either lazy connection creation or an establish_connection equivalent.

Since all the connections-related code in DbCharmer is based on ActiveRecord::Base connections functionality, this is what you need to do:
# What to do before we fork a worker
before_fork do |server, worker|
 ActiveRecord::Base.connection_handler.clear_all_connections!
end

# What to do after we fork a worker
after_fork do |server, worker|
 ActiveRecord::Base.connection_handler.verify_active_connections!
end

I'm not 100% sure this is a db-charmer + unicorn problem, but we continue to have problems with connections even with this implemented.
I instrumented the mysql2 active record adapter with debugging statements, and connect() doesn't seem to get called after forking.  disconnect() and active?() do get called.  As a result, later in code there are statements that would run on our slave that end up with a nil connection object that blows up on execute()
activesupport (3.0.11) lib/active_support/whiny_nil.rb:48:in method_missing' mysql2 (0.2.13) lib/active_record/connection_adapters/mysql2_adapter.rb:265:in execute'
mysql2 (0.2.13) lib/active_record/connection_adapters/mysql2_adapter.rb:591:in select' activerecord (3.0.11) lib/active_record/connection_adapters/abstract/database_statements.rb:7:in select_all'
activerecord (3.0.11) lib/active_record/connection_adapters/abstract/query_cache.rb:56:in select_all' activerecord (3.0.11) lib/active_record/base.rb:473:in find_by_sql'
activerecord (3.0.11) lib/active_record/relation.rb:64:in to_a_without_db_charmer' db-charmer (1.7.0) lib/db_charmer/rails3/active_record/relation/connection_routing.rb:123:in to_a'
db-charmer (1.7.0) lib/db_charmer/rails3/active_record/relation/connection_routing.rb:113:in switch_connection_for_method' db-charmer (1.7.0) lib/db_charmer/active_record/multi_db_proxy.rb:40:in on_db'
db-charmer (1.7.0) lib/db_charmer/rails3/active_record/relation/connection_routing.rb:112:in send' db-charmer (1.7.0) lib/db_charmer/rails3/active_record/relation/connection_routing.rb:112:in switch_connection_for_method'
db-charmer (1.7.0) lib/db_charmer/rails3/active_record/relation/connection_routing.rb:122:in to_a' activerecord (3.0.11) lib/active_record/relation/finder_methods.rb:343:in find_first'
activerecord (3.0.11) lib/active_record/relation/finder_methods.rb:122:in first' activerecord (3.0.11) lib/active_record/relation/finder_methods.rb:244:in send'
activerecord (3.0.11) lib/active_record/relation/finder_methods.rb:244:in find_by_attributes' activerecord (3.0.11) lib/active_record/base.rb:993:in send'
activerecord (3.0.11) lib/active_record/base.rb:993:in method_missing' app/models/impact_action.rb:348:in event'
app/helpers/users_helper.rb:69:in place_activity_item_photo' app/views/widgets/users/recent_activity/_activity_item.html.haml:3:in _app_views_widgets_users_recent_activity__activity_item_html_haml___2070210945_111043180_11404748'
actionpack (3.0.11) lib/action_view/template.rb:162:in `send'
[...]

Still trying to figure this out, but I think it might have to do with the use of the retrieve_connection method and how the rails3 ConnectionPool works.  It seems like something in db-charmer is possibly holding a reference to a connection object that has been closed and then attempting to use it without checking that the connection is .active? before using it.  Or something is intercepting .reconnect! or .connect on the mysql2 adapter.
Effectively, there is a @connection attribute on the mysql2 adapter that holds a reference to a Mysql2::Client object.  When disconnect!'ed (cleanly) it gets set to nil.  Later, something tries to use that connection without checking that it is valid or active, just passing the execute on to the underlying client (which is actually nil) and blowing up.

I can actually reproduce this in the console with minimal effort.  Relevant relations:
class Event < ActiveRecord::Base
  belongs_to :photo, :dependent => :destroy
end

class Photo < ActiveRecord::Base
  has_one :event
end

After using your proposed connection reset method, the Event find fails.
ree-1.8.7-2011.03 :001 > Event.find_by_id(1, :include => :photo)
 => #<Event id: 1, title: "Take down skiles.info", description: "<p>Perspiciatis assumenda deleniti mollitia qui ea ...", organization_id: nil, user_id: 42, photo_id: 32, end_date: "2012-02-15 23:59:59", status: 1, created_at: "2011-11-30 05:21:35", deleted_at: nil, total_signature_count: 7, daily_signature_count: 1, total_emails_sent: 0, total_calls_made: 0, change_id: 3, video_id: nil, position: 1, sponsored: false, goal: nil, sponsored_text: nil, sponsor_logo: nil, weekly_signature_count: 3, featured_position: nil, editable_campaign_text: false, recommendation_position: 10000000, delta: false, require_petition_full_address: false, static_petition_targets: true, creation_context: "cause3", victory: false, victory_update: nil, victory_date: nil, sends_petition_emails: true, hourly_signature_count: 0, state: nil, alternate_image_id: nil, direct_to_donation: false, widget_summary: nil, widget_title: nil, hidden: false, monthly_signature_count: 7, no_petition_target: false, petition_partner_id: nil, dia_campaign_id: 1, acts_as_pledge: false, send_signature_alerts: true, signature_lull: false, commenting_enabled: true, custom_prompt: nil, ask: "exercitationem", num_email_invitations_sent: 0, total_signup_count: 0, hourly_signup_count: 0, daily_signup_count: 0, weekly_signup_count: 0, monthly_signup_count: 0>
ree-1.8.7-2011.03 :002 > ActiveRecord::Base.connection_handler.clear_all_connections!
 => {"AutoGeneratedAbstractConnectionClassSlave0"=>#<ActiveRecord::ConnectionAdapters::ConnectionPool:0x10c3216c8 @timeout=5, @connection_mutex=#<Monitor:0x10c321650 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>, @size=5, @reserved_connections={}, @spec=#<ActiveRecord::Base::ConnectionSpecification:0x10c32a390 @config={:flags=>2, :database=>"change_devel", :adapter=>"mysql2", :connection_name=>"slave0", :username=>"root", :port=>3306, :password=>nil, :host=>"localhost"}, @adapter_method="mysql2_connection">, @checked_out=[], @connections=[], @queue=#<MonitorMixin::ConditionVariable:0x10c3215d8 @waiters=[], @monitor=#<Monitor:0x10c321650 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>>>, "ActiveRecord::Base"=>#<ActiveRecord::ConnectionAdapters::ConnectionPool:0x10684f650 @timeout=5, @connection_mutex=#<Monitor:0x10684f5d8 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>, @size=5, @reserved_connections={}, @spec=#<ActiveRecord::Base::ConnectionSpecification:0x10684fb50 @config={:flags=>2, :database=>"change_devel", :adapter=>"mysql2", :reporting=>{"port"=>3306, "adapter"=>"mysql2", "username"=>"root", "database"=>"change_devel", "host"=>"localhost", "password"=>nil}, :slave0=>{"port"=>3306, "adapter"=>"mysql2", "username"=>"root", :connection_name=>"slave0", "database"=>"change_devel", "host"=>"localhost", "password"=>nil}, :username=>"root", :port=>3306, :password=>nil, :host=>"localhost"}, @adapter_method="mysql2_connection">, @checked_out=[], @connections=[], @queue=#<MonitorMixin::ConditionVariable:0x10684f538 @waiters=[], @monitor=#<Monitor:0x10684f5d8 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>>>}
ree-1.8.7-2011.03 :003 > ActiveRecord::Base.connection_handler.verify_active_connections!
 => {"AutoGeneratedAbstractConnectionClassSlave0"=>#<ActiveRecord::ConnectionAdapters::ConnectionPool:0x10c3216c8 @timeout=5, @connection_mutex=#<Monitor:0x10c321650 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>, @size=5, @reserved_connections={}, @spec=#<ActiveRecord::Base::ConnectionSpecification:0x10c32a390 @config={:flags=>2, :database=>"change_devel", :adapter=>"mysql2", :connection_name=>"slave0", :username=>"root", :port=>3306, :password=>nil, :host=>"localhost"}, @adapter_method="mysql2_connection">, @checked_out=[], @connections=[], @queue=#<MonitorMixin::ConditionVariable:0x10c3215d8 @waiters=[], @monitor=#<Monitor:0x10c321650 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>>>, "ActiveRecord::Base"=>#<ActiveRecord::ConnectionAdapters::ConnectionPool:0x10684f650 @timeout=5, @connection_mutex=#<Monitor:0x10684f5d8 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>, @size=5, @reserved_connections={}, @spec=#<ActiveRecord::Base::ConnectionSpecification:0x10684fb50 @config={:flags=>2, :database=>"change_devel", :adapter=>"mysql2", :reporting=>{"port"=>3306, "adapter"=>"mysql2", "username"=>"root", "database"=>"change_devel", "host"=>"localhost", "password"=>nil}, :slave0=>{"port"=>3306, "adapter"=>"mysql2", "username"=>"root", :connection_name=>"slave0", "database"=>"change_devel", "host"=>"localhost", "password"=>nil}, :username=>"root", :port=>3306, :password=>nil, :host=>"localhost"}, @adapter_method="mysql2_connection">, @checked_out=[], @connections=[], @queue=#<MonitorMixin::ConditionVariable:0x10684f538 @waiters=[], @monitor=#<Monitor:0x10684f5d8 @mon_owner=nil, @mon_waiting_queue=[], @mon_entering_queue=[], @mon_count=0>>>}
ree-1.8.7-2011.03 :004 > Event.find_by_id(1, :include => :photo)
NoMethodError: undefined method `query_options' for nil:NilClass
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:48:in `method_missing'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/mysql2-0.2.13/lib/active_record/connection_adapters/mysql2_adapter.rb:261:in `execute'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/mysql2-0.2.13/lib/active_record/connection_adapters/mysql2_adapter.rb:586:in `select'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/connection_adapters/abstract/query_cache.rb:56:in `select_all'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/base.rb:473:in `find_by_sql_without_trace_ActiveRecord_self_name_find_by_sql'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/newrelic_rpm-3.3.0/lib/new_relic/agent/method_tracer.rb:491:in `find_by_sql'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/newrelic_rpm-3.3.0/lib/new_relic/agent/method_tracer.rb:242:in `trace_execution_scoped'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/newrelic_rpm-3.3.0/lib/new_relic/agent/method_tracer.rb:486:in `find_by_sql'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/relation.rb:64:in `to_a_without_db_charmer'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/db-charmer-1.7.0/lib/db_charmer/rails3/active_record/relation/connection_routing.rb:123:in `to_a'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/db-charmer-1.7.0/lib/db_charmer/rails3/active_record/relation/connection_routing.rb:113:in `switch_connection_for_method'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/db-charmer-1.7.0/lib/db_charmer/active_record/multi_db_proxy.rb:40:in `on_db'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/db-charmer-1.7.0/lib/db_charmer/rails3/active_record/relation/connection_routing.rb:112:in `send'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/db-charmer-1.7.0/lib/db_charmer/rails3/active_record/relation/connection_routing.rb:112:in `switch_connection_for_method'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/db-charmer-1.7.0/lib/db_charmer/rails3/active_record/relation/connection_routing.rb:122:in `to_a'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:343:in `find_first'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:122:in `first'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:244:in `send'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:244:in `find_by_attributes'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/base.rb:993:in `send'
	from /Users/change/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.11/lib/active_record/base.rb:993:in `method_missing'
	from (irb):4ree-1.8.7-2011.03 :005 >

I think I've found the problem.  On line 15 in DbCharmer::ActiveRecord::RelationMethod a reference to a connection is being stored:
rel.db_charmer_connection = self.connection

This is bad.  It's actually a reference to a pool-controlled connection object that has already been closed by the before_fork call to ActiveRecord::Base.connection_handler.clear_all_connections!.  db-charmer should avoid holding references to these pool-controlled database connections.
As a proof of concept I changed self.connection to lambda { self.connection } and added the following line to the top of DbCharmer::ActiveRecord::ConnectionSwitching#coerce_to_connection_proxy, just after the nil-check:
conn = conn.call if conn.kind_of? Proc

I'm not sure if this is the best way to do it, but it seems to work in initial testing.  With the lambda, the self.connection gets delayed and calls the connection method later, pulling a new/fresh connection from the ActiveRecord pools.
I may work up a patch.

Not sure if I'm going to get time to generate a patch that is "correct" without learning a bit more about AR.  The crux is that the DbCharmer::ActiveRecord::Relation::ConnectionRouting gets patched onto ActiveRecord::Relation and one gets created when relationships are declared at start-up time.  That object contains a reference to a connection that may get closed, and instead needs to be grabbed when the relation gets traversed at run-time.

FYI: My test suite is running fine with the lambda and call change in place.  I'm just not able to get the sandbox application to pass its full test suite.
I'm not entirely pleased with the solution.  I think it may be more appropriate to always just store the name of the connection rather than the connection itself (or doing it with lambda).  In general, the connection should be grabbed just-in-time during a query rather than stored in an instance variable (especially in this case where the Relation instance is created at start-up time).

+1.  I am also seeing this problem.  Any progress on this?  If it continues I will have to move to another library.

This is literally my exact stack trace too! "undefined method `db_charmer_connection_name'"
Thanks for doing the heavy lifting, @kylev. You must be a swell developer.

Ah, I was hoping to see a resolution, cause I've been struggling with this one for awhile. So annoying!

I’ve been tearing my hair out on this problem, and thought it was related to the Ruby 1.9.3 upgrade I am currently testing. +1 On this exact issue!

I think a better solution to the way it is doing things now is to get rid of the :db_charmer_connection attribute in Relation::ConnectionRouting.  It should either store the model class from which it is pulling the connection, or some sort of name/symbol indicating the pool from which the connection should be pulled.

kovyrin,
I have found the source of this bug.  I'd like to show you here a fully reproducible example, which should be very easy for you to run.  Simply run this script verbatim (assumes you have rvm, ruby1.9.3, and rails 3.0.11 installed.  make modifications as necessary), and then run the generated failing_script.rb and passing_script.rb:
rvm use ruby-1.9.3
rails _3.0.11_ new db_charmer_default_scope_test -d mysql
cd db_charmer_default_scope_test
echo "gem 'db-charmer', :require => 'db_charmer'" >> Gemfile

cat > passing_script.rb <<END
require File.expand_path(File.dirname(__FILE__) + "/config/environment")

Spoon.find_by_id(1, :include => :bowl)

#before_fork:
ActiveRecord::Base.connection_handler.clear_all_connections!

#after_fork:
ActiveRecord::Base.connection_handler.verify_active_connections!
# Reset database connection object attached to the "default_scoping" class variable on AR models with default_scopes:
Spoon.default_scoping.first.db_charmer_connection = ActiveRecord::Base.connection_handler.retrieve_connection(Spoon)

Spoon.find_by_id(1, :include => :bowl)

puts 'no exceptions'
END

cat > failing_script.rb <<END
require File.expand_path(File.dirname(__FILE__) + "/config/environment")

Spoon.find_by_id(1, :include => :bowl)

#before_fork:
ActiveRecord::Base.connection_handler.clear_all_connections!

#after_fork:
ActiveRecord::Base.connection_handler.verify_active_connections!

Spoon.find_by_id(1, :include => :bowl)

puts 'no exceptions'
END

rails generate model bowl
rails generate model spoon bowl_id:integer

cat > app/models/spoon.rb <<END
class Spoon < ActiveRecord::Base
  belongs_to :bowl
  db_magic

  default_scope :include => :bowl
end
END
rake db:create db:migrate
bundle

Running the failing_script.rb should output a stacktrace like:
.../gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:48:in `method_missing': undefined method `query_options' for nil:NilClass (NoMethodError)
.../gems/ruby-1.9.3-p0/gems/mysql2-0.2.18/lib/active_record/connection_adapters/mysql2_adapter.rb:261:in `execute'
...

and running the passing_script.rb should output:
no exceptions

The only difference between these two scripts is the following line, which is only present in passing_script.rb:
Spoon.default_scoping.first.db_charmer_connection = ActiveRecord::Base.connection_handler.retrieve_connection(Spoon)

I have found that the stale db connections are being held by any ActiveRecord model that has a default_scope set.  The default_scoping class attribute of these models is what's holding onto that stale connection.  Adding the above line (for each AR model that has default_scope) in the after_fork block in Unicorn should I believe fix this issue.
I would like to know if there is a more idiomatic fix that can be applied to the db_charmer source.  In the meantime, I can look into making a patch plus a test case in the db-charmer-sandbox repo.


3.0 generate sass map compatible scss files from generate.py

Changing scss file generation with the generate.py file,
for using a sass map "array" and a @each loop to generate css icon classes from scss,
and removing the _common.scss file (common styles created with the each loop as well).
Result:
_ionicons-icons.scss from 858 lines to 12

Greetings @Seb-L!
Thank you very much from all of us on the Ionic team for submitting this pull request. We appreciate your commitment to improving Ionic. Unfortunately, we are unable to merge this particular PR, as it may cause regressions or is already out of date with regard to recent fixes. We apologize, as we know how much time you may have put into the work.
We hope you will continue to contribute to Ionic in the future. Please note that we are more likely to merge a smaller PR that has a passing test and changes only one meaningful feature in the project.
For more information, please review our Pull Request Guidelines.
Best regards,
Ionitron


SocketsHttpHandler does not take into acount new certificate authorities

This issue only happens on .NET Core 2.1.X, when using DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=1.
Steps to reproduce:

Have a running application which calls a service using HTTPS for which the certificate authority is not trusted on the machine
Install the new authority on the machine and run update-ca-certificates
Call the service from the running .NET application

Expected behavior:
The application should take into account the newly installed certificate authority, without restarting the application
Actual behavior:
An exception is thrown:
System.Net.Http.HttpRequestException: The SSL connection could not be established
Workaround:

You can restart the application after you run the update-ca-certificates command
Add the environment variable DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0

This issue was moved to dotnet/corefx#32576


miRbase Annotation Discrepancies

Hello! I've been using miRge for a while and have recently detected some discrepancies between what I expected and what I obtained, and I've been trying to understand the reasons but haven't been able to. I hope you can help me with this!
According to your paper and other sources, there are supposed to be 2656 miRNAs in the miRbase 22 release (which we are using), but every counts file I obtain includes 2731 miRNAs. Trying to understand where these extra 75 miRNA came from, I checked all references and sources and detected:

The human library file downloaded from your sourceforge, that is exactly the same gff file currently provided by miRbase (is it not?), has 4801 entries: 1914 corresponding to primary transcripts and 2881 to mature transcripts. Why don't any of these numbers match the expected 2656 or the given 2731?
When comparing the miRge output and the mirBase reference (and after splitting the IDs that you had merged together), 319 IDs were not found in the reference... Where does the system gets these IDs from, if they are not found in the reference library?
From these 319, I managed to find 4 in the miRbase web (but not in the downloadable files): hsa-miR-1973, hsa-miR-3713, hsa-miR-378g, hsa-miR-4456. If we are using the most recent version, how can they not be included?
I also detected 3 "3p" IDs where the corresponding primary and "5p" sequences were found in the DB, but not the given 3p IDs (hsa-miR-6718-3p, hsa-miR-770-3p, hsa-miR-7845-3p), and the same for 4 "5p" IDs (hsa-miR-7846-5p, hsa-miR-7849-5p, hsa-miR-7852-5p, hsa-miR-7854-5p).
Finally, the remaining 308 IDs are pairs of "3p" and "5p" IDs. When removing the 3p/5p part, 154 matching mature miRNAs where found, but without the 3p/5p suffix. Also, 143 related primary transcript were found, but not all of them... What is the explanation for this? Where do the 3p/5p ones come from?

During data processing do you obtain data from other sources besides the given reference library? Basically, where is all this "extra" information coming from?
In my current analysis many of these transcripts had 0 reads assigned so they don't worry me much, but many others do have read counts assigned, so they are relevant in my study... How do I consider them, how do I study them further if their IDs do not exist in public DBs...?
Thank you!

Hi @asucrer,
The discrepancies you see along with the additional (miRbase missing) 5p or 3p miRNAs were based on our previous detection of miRNA reads in the genomic loci of the annotated pri miRNAs from miRBase. These reads were part of Toward the human cellular microRNAome study and since then, we have retained these passenger miRNAs as part of our miRge library.
A small percent (394, 0.7%) were identified in more than 50 samples. Additionally, 207 were the unassigned “passenger” 5p or 3p microRNAs from a known microRNA locus, and 15 were orthologous to a different species’microRNA (primarily primate)  (Supplemental Tables S8, S9)
I do see the miRNAs you have mentioned missing (below) in miRBase downloadable file (the following comment), please check and let me know if I missed or didn't get your question right!

From these 319, I managed to find 4 in the miRbase web (but not in the downloadable files): hsa-miR-1973, hsa-miR-3713, hsa-miR-378g, hsa-miR-4456. If we are using the most recent version, how can they not be included?

I hope this gives you some clarrification, please let us know if you have any further questions.
Thank you,
Arun.

Thanks for your quick reply and your explanation @arunhpatil!,
I still don't find those IDs in the file, but probably I'm checking a different version or not the file I should but not a problem!
I can work with this :)
Thanks again!


DLNA with Onkyo TX-NR636

What version of Music Assistant has the issue?
2.0.0b81
The problem
I am using Home Assistant add-on of music assistant.
My Onkyo receiver is recognized as "DLNA" player. I can select it when playing for instance tunein radio station.
However: MA is reporting player as "idle".
When I start Net Radio on onkyo manually I can change volume in MA. So integrations seems to work basically. But streaming doesnt work.
How to reproduce
select Onkyo as player.
Relevant log output
2024-01-10 11:35:06.434 WARNING (MainThread) [asyncio] Executing <Task pending name='Task-464' coro=<WebsocketClientHandler._run_handler() running at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py:372> wait_for=<Future pending cb=[Task.task_wakeup()] created at /usr/local/lib/python3.11/asyncio/base_events.py:427> created at /usr/local/lib/python3.11/asyncio/tasks.py:384> took 0.117 seconds
2024-01-10 11:35:19.088 DEBUG (MainThread) [music_assistant.providers.dlna] Handling command cmd_play_url for player TX-NR636
024-01-10 11:35:20.065 ERROR (MainThread) [music_assistant.providers.dlna] Error during call cmd_play_url: UpnpActionResponseError('Error during async_call(), action: Play, status: 500, upnp error: 705 (Transport is locked)')
Log for changing volume (=working):
2024-01-10 11:35:26.718 DEBUG (MainThread) [music_assistant.webserver] [547231187280] Handling command players/cmd/volume_set
2024-01-10 11:35:26.724 DEBUG (MainThread) [music_assistant.players] Handling command cmd_volume_set for player TX-NR636
2024-01-10 11:35:26.724 DEBUG (MainThread) [music_assistant.providers.dlna] Handling command cmd_volume_set for player TX-NR636
2024-01-10 11:35:26.963 DEBUG (MainThread) [music_assistant.event] player_updated uuid:5bb0e20f-afe2-0fb9-4beb-0f09afb9a61f
2024-01-10 11:35:28.465 DEBUG (MainThread) [music_assistant.webserver] [547231187280] Handling command players/cmd/volume_set
2024-01-10 11:35:28.472 DEBUG (MainThread) [music_assistant.players] Handling command cmd_volume_set for player TX-NR636
2024-01-10 11:35:28.472 DEBUG (MainThread) [music_assistant.providers.dlna] Handling command cmd_volume_set for player TX-NR636
Additional information
No response
What version of Home Assistant Core are your running
2024.1.2
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Raspberry Pi

UPNP 705 This error means that the DLNA function on your TV is currently blocked by some other application.

Thank you for information. However I am not using my Onkyo receiver with DLNA protocol. Does anyone know whether home assistant onkyo integration uses DLNA? If yes I would uninstall onky integration

Probably it does so try that

Please let us know if this has fixed the problem. We will close this soon if there is no further follow up.


Support for Numpy

Hello @jshwi
Any plans to add support for Numpy style docstring?

Hi @hhalaby, I would base the priority for other styles of docstring on demand, so thank you for opening this issue. Considering you've shown interest in support for numpy I will see what I can do (a formatter that can evaluate different syntax rules would be helpful for extensibility). If you have any ideas as well I always welcome a pull request.

Hi @hhalaby feel free to clone and try out this branch, I've added unittests, but haven't got any numpy docstrings to test it on live, would appreciate any feedback if you find the time

@hhalaby I'll merge this one for now, feel free to reopen if you find anything amiss


Update svelte wrapper to use revogrid 4.x

Hi,
Any chance you could update the svelte wrapper to use the latest revogrid I see in next?
Thanks

Done. V4 release, sorry for such a long way.


links to tendermint/spec

#594: I added a note to the files that they are not maintained and that the newer versions are in tendermint/spec.
@konnov : I did this for the main TLA+ files but not for each MCx_y_bla.tla. Is it OK?

I would not introduce individual versions for the MC-files, as they are plenty. I would just keep the versions for the latest version that has been model checked.

Right. We don't need comments like that in the MC files.


Tests to Java

Converted some tests to Java

This change is

Coverage increased (+0.03%) to 66.295% when pulling 267c13f684dc3ebfc077c1a301d5c3060fed4507 on tests-to-java1 into 436c069f46b0eb1dbe2ef90afb91da6291d0047b on master.


Depend on ES6-style promises instead of using Mithril deferreds

This has been discussed on Gitter multiple times, and @lhorie himself initially came up with the idea. Currently, the deferred implementation makes up 180 lines of code, incl. comments, and converting the rest of this to use ES6-style promises would also simplify m.request() some. There's also smaller implementations than Mithril's as well, such as promiscuous, which is even Promises/A+ compliant and has a Promise.all implementation as well.
Basically, this is seeing if the left side may be deprecated in favor of the right side, with Mithril internally changing to use the right:

Deprecated
New

m.deferred()
new Promise()

m.sync()
Promise.all()

What do you all think?

One open question, though, is how to deal with m.prop() in this light.

I rarely use m.prop. Can you explain what exactly is the problem with it? do you mean this

@StephanHoyer Yes, particularly where it wraps Mithril promises.
Would wrapping it to synchronously change the 'prop' value when called, but asynchronously changing it when the promise resolves, and asynchronously returning the value be a good idea? It's open to race conditions, though, in that you shouldn't change it between the tick of creation and the tick when then is called from it, as it could conflict with m.prop's handling. The reason why calling changes it synchronously is because it would become nondeterministic and open to implicit race conditions if it wasn't.
Would something like this work? Where it accepts a promise and returns a thenable?
function createPromiseProp(promise) {
  var ret = m.prop()
  var p = promise.then(ret)
  ret.then = p.then.bind(p)
  ret.catch = p.then.bind(p, undefined)
  return ret
}

Looks OK to me:
const gimme5 = () =>
  new Promise( resolve => resolve( 5 ) )

const pp = m.prop( gimme5() ).then( x => x * 5 )

console.log( pp() )

setTimeout( () =>
  console.log( pp() )
)

m.prop would have to turn into this, though, to avoid a breaking change:
m.prop = function (value) {
  // Most promises
  if (isPromise(value)) return createPromiseProp(value)

  // Older Mithril deferreds, deprecate, but keep compatibility
  // in meantime
  if (value != null && isPromise(value.promise)) {
    return createPromiseProp(value.promise)
  }

  return gettersetter(value)
}

@barneycarroll Actually, it already does it.

That would be really neat!!! :+1:

Mithril contains 4 major parts:  Rendering, Routing, Request and Promises.
What I would suggest is creating a separate src folder and have each of those major parts into separate files and then with suitable wrappers merge them to create the Mithril distribution as it now stands, without any breaking changes and provide the other parts as separate Npm modules under a dist folder  so as to pack them with Browserify or WebPack.
Suitable documentation could explain how to wrap your async request module with start/endComputation so as to trigger a redraw.

@Satyam The general consensus is that Webpack and Browserify are both no-gos. Most likely, we'll use something similar to Lodash, or some other homegrown solution. And as for wrapping another Ajax helper, Mithril already has that as an example in its documentation.

Considering Mithril is so small and the dependency structure so simple, a simple concatenation script might do…?

@barneycarroll : Indeed, that was the idea, Sorry for my bad description.  @isiahmeadows : I meant the separate modules to be made NPM compatible, so that they can be packed, however I failed to make it clear that the complete mithril.js is to be built from concatenation of the separate parts and then wrapped in the UMD header and footer.
They might as well all use UMD wrappers but I see the separate parts more likely to be packed together with other modules such as, say, Axios for http request or the Babel polyfill for Promises or whatever else you want to add, rather than included via a script tag.
So, the original source files for the parts would be headerless, no CommonJS nor UMD wrapper.  The build process would wrap each part into a separate NPM module in the dist folder and then all of them concatenated and wrapped in the current UMD header and placed in its current location.
Alternatively, all the source files might have plain CommonJS wrapper which could be stripped out to produce the headerless files to be concatenated and then wrapped in the UMD wrapper.   Some marking in the source files, some special comment line, would mark the cut point.  This would also allow to cut out, besides the CommonJS header, any utility functions that would otherwise get repeated when the files get concatenated.
I prefer simple concatenation rather than cutting out parts and then merging.  The build process should also take care of providing each separate part with its corresponding copy of the currently shared utility functions while, at the same time, having only one copy on the full version.
Test files would also need to be split into separate test files plus the current ones for the whole Mithril.
Also, once separate, the parts that are not core to Mithril (HTTP request and Promises and, perhaps in the future, routing) should have its development halted.  Only critical errors.  With so many alternatives available for their functionality, it makes no sense to devote any resources on them.

It's been discussed elsewhere, but, did you guys check out Rollup?
/ducks ;-)

A simple way to make those wrappers would be something like this:
/*#isString.js#*/
// any number of other dependencies
/*#router.js#*/
module.exports = mroute;

The  /*# #*/  comments are the 'include' directive for the source files.  IN this case, we include one of the small utility functions and then the router code.   For the complete Mithril, the wrapper would have the UMD header and then a bunch of these 'include' directives.
;(function (global, factory) { // eslint-disable-line
	"use strict"
  // rest of UMD stuff
})(this, function (window, undefined) { // eslint-disable-line
	"use strict"
/*#isString.js#*/
// all the rest of the utility functions
/*#renderer#*/
global.m = m;
/*#request.js#*/
m.request = mrequest; //mrequest doesn't really exist right now
// and so on and so forth
 return m;
});

A Grunt plugin would need to be developed, unless there is already one for such a thing, which I haven't checked.
Alternatively, the same thing could be accomplished by concatenating bits and pieces but it would really make it hard to understand the complete code with just a bunch of disconnected fragments, connected by the gruntfile.
It would also be good if the individual parts have valid syntax so linters and code highlighters don't get mad.
Regarding tests, I would suggest that the current set of tests should be able to check both the complete Mithril.js code and the Browserified bundle of the separate parts.   Since the utility functions are private to each module so that even when loaded all at once one module would not see the utility functions of the other modules, I guess this would make for a good enough test.

@Satyam The best solution would have to be written from scratch.

For what it's worth, though, I'm thinking of making a mini module on npm
(easier to test, independent versioning) for this particular use case, as
it's relatively unusual.
On Thu, Dec 17, 2015, 03:32 Daniel Barreiro<EMAIL_ADDRESS>wrote:

A simple way to make those wrappers would be something like this:
/#isString.js#/
// any number of other dependencies
/#router.js#/
module.exports = mroute;
The /# #/ comments are the 'include' directive for the source files. IN
this case, we include one of the small utility functions and then the
router code. For the complete Mithril, the wrapper would have the UMD
header and then a bunch of these 'include' directives.
;(function (global, factory) { // eslint-disable-line
"use strict"
// rest of UMD stuff
})(this, function (window, undefined) { // eslint-disable-line
"use strict"
/#isString.js#/
// all the rest of the utility functions
/#renderer#/
global.m = m;
/#request.js#/
m.request = mrequest; //mrequest doesn't really exist right now
// and so on and so forth
return m;
});
A Grunt plugin would need to be developed, unless there is already one for
such a thing, which I haven't checked.
Alternatively, the same thing could be accomplished by concatenating bits
and pieces but it would really make it hard to understand the complete code
with just a bunch of disconnected fragments, connected by the gruntfile.
It would also be good if the individual parts have valid syntax so linters
and code highlighters don't get mad.
Regarding tests, I would suggest that the current set of tests should be
able to check both the complete Mithril.js code and the Browserified bundle
of the separate parts. Since the utility functions are private to each
module so that even when loaded all at once one module would not see the
utility functions of the other modules, I guess this would make for a good
enough test.
—
Reply to this email directly or view it on GitHub
https://github.com/lhorie/mithril.js/issues/800#issuecomment-165383261.

Regarding promises, I'm definitely for using ES6 promises. You can keep a m.deferred stub for backwards compatibility in most cases.
	function deferred() {
		var prm = {}
		prm.promise = propify(new mPromise(function(R,r){
			prm.resolve = R
			prm.reject = r
		}))
		return prm
	}

where mPromise defaults to the global Promise object, but can be set to something else.
The same goes for m.sync.
I'm not sure the current implementation of propify is correct, though (at least, not according to what I had in mind when I wrote it). It doesn't seem to be contagious like it once was: foo = propify(promise).then(...) foo should be propified too (a different prop than propify(promise)).
Potentially synchronous promises can be toxic for some use cases (I've tried to build an async Mithril module loader that handles dependencies chains, and I was running into race conditions that were not present with A+ Promises). It makes promise composition much harder.

I'm intentionally delaying until the npm version is bumped before converting to native Promises.

Will you keep a m.deferred stub? The executor pattern makes the trivial case easy, but when you want something fancy, you often end up emulating the deferred API
BTW, the sooner you adopt ES6 it the better. Between v0.2.0 and the current next HEAD, we went from 62 to 409 failures out of 872 Promise/A+ test cases. It even breaks the test suite if m.deferred.onerror isn't disabled (-:.
If you didn't keep a close eye on the test suite, it's not surprising that there are regressions, promises are tricky to get right.
Also, it may be nice to restore the infectious nature of propify, like this:
function propify(promise, initialValue) {
    prop = m.prop(initialValue)
    promise.then(prop)

    prop.then = function(res, rej) {return propify(promise.then(res, rej))}
    prop.catch = function(rej) {return propify(promise.then(null, rej))}

    // keeping this mostly as is, not sure about the use case
    prop.finally = function (callback) {
        return propify(promise.then(function (value) {
            return simpleResolve(callback(), function () {
                return value
            })
        }, function (reason) {
            return simpleResolve(callback(), function () {
                throw reason
            })
        }))
    }
    return prop
}

Passing prop() explicitly like here is not needed (at least not if your implementation is A+ correct).

@pygy

Will you keep a m.deferred stub? The executor pattern makes the trivial case easy, but when you want something fancy, you often end up emulating the deferred API

Yes, but it be in a separate file and include an async wrapper so it can be used in core. I will also include m.deps.promise() to set the internal Promise constructor used in core, defaulting to the system version. I will also include very specific specs required.

BTW, the sooner you adopt ES6 it the better. Between v0.2.0 and the current next HEAD, we went from 62 to 409 failures out of 872 Promise/A+ test cases. It even breaks the test suite if m.deferred.onerror isn't disabled (-:.
If you didn't keep a close eye on the test suite, it's not surprising that there are regressions, promises are tricky to get right.

Mithril's m.deferred intentionally deviated from Promises/A+ a while back (at least a year ago), for performance reasons (which are relatively moot now) and type safety (which IMHO is not as big as it sounds). That intentional deviation still remains the case, and if we realign, it'll break a lot of things in userland, and require some things in core to be rewritten. Or in other words, it's more trouble than it's worth.

Also, it may be nice to restore the infectious nature of propify, like this:

That's not going to happen. Especially with m.deferred and m.sync being deprecated the release after next (@lhorie is planning on doing one probably today or tomorrow). m.prop() is going to remain an agnostic thenable, depending on the implementation of the promise it's wrapping. Also, the extra layer of indirection is only going to increase memory and slow things down pointlessly.
The reason why is because Mithril shouldn't be reinventing yet another wheel that when incompatibility arises, is known to cause problems. (Read: lesson learned)
Matter of fact, most major frameworks with deferreds either depend on a third-party promise implementation that supports Promises/A+, like Ember or borrow one that does without changing the core implementation, like Angular (which only removed features). ExtJS pulled their implementation from DeftJS with mostly name changes, but made sure to keep it spec-compliant the whole time.

Personally I would ditch any Promise code in Mithril and let the client link its own library if he want to use it on his side!

@mikegleasonjr BTW, @lhorie is planning on ditching m.deferred() and m.sync() in his rewrite he's working on. And yes, this is the right bug to talk about removing Mithril deferreds in favor of Promises.

Rewrite's implementation follows ES6 API and is A+ compliant
m.request's factory allows depending on different Promise implementations so it's possible to not use Mithrils's implementation, if that's what's desired


Signals inside read-state -> regex -> script commands are not processed correctly

Given a sample script
scripts:

  single:
    - log: single
    - signal: sig

  replicated:
    - log: replicated
    - signal: sig

  caller:
    - log: caller
    - read-state: ${{TOPOLOGY}}
      then:
        - regex: single
          then:
            - script: single
        - regex: multi
          then:
            - script: replicated

  waiter:
    - log: waiting for signal
    - wait-for: sig
hosts:
  local: me@localhost

roles:
  role:
    hosts: [local]
    run-scripts:
    - caller
    - waiter

states:
  TOPOLOGY: single

I would expect the sig signal to be called once, by either the single script, or the replicated script depending on the parameter passed to state variable TOPOLOGY.  However, the signal is raised twice.
A test case that tests this behaviour is here: https://github.com/johnaohara/qDup/commit/3638a7d648c00620b53d46f7dd4e03fe85113bb5

This looks like an issue with how qDup estimates the appropriate number of times for a signal to be called. The SignalCounts scan method uses a visitor pattern instead of walking the tree itself so it is counting all the signal and wait-for from both then and else. A workaround, which I'm sure you've already seen, could be to use set-signal to tell qdup the correct number of times for the signal to be called. I added the recreate to the test suite and will work on a fix


CI updates proposal

Please check if the PR fulfills these requirements

[x ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This is a proposal for an updated CI workflow (see workflow_update_proposal.md). One proof-of-concept (unit tests) is included.

What is the current behavior? (You can also link to an open issue here)
The current CI file runs all test environments simultaneously.

What is the new behavior (if this is a feature change)?
The new CI file spins up and spins down its own runner instance and only executes unit tests.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other test environments have not yet been implemented.

Other information:

Has this been pipeline been tested? Also, we won't don't need the proposal to be merged in


Not showing hands in recording

Running with the latest MRTK 2.8 -- the recording shows the 3D objects moving, but doesn't show the recorded hand meshes. Would love to confirm that others are seeing the same. Love this project, would love to use it :)

Hey there, I actually replied to your email a few days ago but not sure if you have seen it. Have you tried this yet?:
Under the section "Setting Up HandMeshRecorder" on the README, Pointer 6 says to:
Edit the contents of BaseHandVisualizer.cs that comes with MRTK to the copy provided in the package. (Line 167)
The repo contains a BaseHandVisualizer.cs file that you should use to replace the default BaseHandVisualizer.cs file that comes with MRTK itself. The lines changed are on Line 167 of the repo's file.


Config - getServerNames() : don't return an immutable list

Previous change was breaking some of the edit feature:

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: remove
at java.base/java.util.Iterator.remove(Iterator.java:102)
at java.base/java.util.AbstractCollection.remove(AbstractCollection.java:283)
at studio.kdb.Config.removeServer(Config.java:252)
at studio.ui.StudioPanel$18.actionPerformed(StudioPanel.java:1118)

Yeah, I missed the bug originally.
I decided to return unmodifiable collection from getServerNames() as both serverNames and servers collections are internal Config fields which should be changed simultaneously. Therefore logic for their modification should be internal to Config class.The fix which I did in my branch is modification of serverNames in removeServer() method (rather than via getServerName()).  Unfortunately I spotted the bug after I had raised my PR.
BTW, I am reworking the Config to support tree like structure in the Server List.


Fix Error with Admin Signup

Please do work for this task in a branch named issue-032.
When a user signups as an admin, it does not immediately refresh the home page to show all the report lists. The user has to refresh the page manually to see the report lists. Try to fix this so it does not happen.

We were able to get the tabs for the reports for admin users to show up immediately after they signed up.


Abacus refactor fixes

@Gulfa I needed to remove the celery.control.purge completely from consumer because of use of abacus_pipeline.tasks.test_up. test_up cannot be called easily by send_task() because it's not a straight forward async call. We need to collect the result. I'll work on it in a separate PR.
I've squashed the commits with a number of Travis fixes/trials into a single commit.

Sounds good. My review stands so we can just merge this PR.


[GOBBLIN-1923] Add retention for lease arbiter table

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[X] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-1923

Description

[X] Here are some details about my PR, including screenshots (if applicable):
Add retention to lease arbiter table so it does not grow unbounded. The table can be as large as O(number of flows) which may grow so large that reading/writing from this table becomes time consuming and slows down our throughput of obtaining and evaluating leases for launching flows.

Remove default values from lease arbiter table (left off on previous PR)

Increase default for scheduler max backoff to include more jitter between participants holding a reminder.

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #3792 (2933333) into master (2a2edfc) will decrease coverage by 2.86%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3792      +/-   ##
============================================
- Coverage     47.33%   44.48%   -2.86%
+ Complexity    10968     5086    -5882
============================================
  Files          2152     1082    -1070
  Lines         85128    44064   -41064
  Branches       9466     4851    -4615
============================================
- Hits          40298    19602   -20696
+ Misses        41176    22603   -18573
+ Partials       3654     1859    -1795

Files
Coverage Δ

...pache/gobblin/configuration/ConfigurationKeys.java
0.00% <ø> (ø)

... and 1079 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more