[$500] Android - Strong delay in getting back to chat/LHN after checking avatar full screen mode

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open NewDot app
Open any direct chat with user that has non-default avatar
Tap to see fullscreen avatar
Try to get back to chat or LHN

Expected Result:
Chat or LHN is displayed without delays
Actual Result:
Chat and/or LHN appear with delay. At first it appears that back arrow is not responding
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.68-12
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/dbc24e31-d9f7-4638-8845-341e61bd603d
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation: @
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01338a15521c809331
Upwork Job ID:<PHONE_NUMBER>464699392
Last Price Increase: 2023-09-13

Waiting for proposals.

Still waiting on proposals

@thesahindia are you still able to reproduce this one?

Ok, great! Let's close.


ctrl-c not working

if docker-squash is run without any input, it hangs.  ctrl-c doesn't kill it.

Neither does seem ctrl-d (= EOF)

have same problem. May be it should print USAGE when was ran without options?


opt Optimize exception handling when put object

we should not continue to put object if state is not satisfied.
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[x] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[x] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buidall

run buildall

run

run buildall

run buildall

run buildall


[prometheus-operator/config-reloader] memory.limit_in_bytes: device or resource busy

What happened:
When deploying prometheus-operator onto a seed, we noticed that the config-reloader container can fail with this error:
  Warning  Failed                  15m (x3 over 15m)  kubelet, ip-10-242-5-86.ap-southeast-2.compute.internal  Error: failed to start container "prometheus-config-reloader": Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"process_linux.go:367: setting cgroup config for procHooks process caused \\\"failed to write 5242880 to memory.limit_in_bytes: write /sys/fs/cgroup/memory/kubepods/burstable/poda0ef03a6-6461-4648-b0f3-ef75b1738582/prometheus-config-reloader/memory.limit_in_bytes: device or resource busy\\\"\"": unknown

This is a known issue with prometheus-operator:
https://github.com/helm/charts/issues/11447
https://github.com/coreos/prometheus-operator/issues/2409
https://github.com/coreos/prometheus-operator/issues/2424
Anything else we need to know?:
The solution seems to be to increase the memory limit for the config-reloader container to a value of at least20mi
Environment:

Gardener version: landscape-live-garden:0.64.0
Kubernetes version (use kubectl version): kubectl: v1.18.0, kubernetes: v1.15.11
Cloud provider or hardware configuration: aws

Can you explain more? I don't really get the problem from the description. What has the prometheus-operator to do with seeds or shoots? If it is uses too less memory (limit) then why opening an issue here?
The config-reloader deployed in our Prometheus instances running in the seed actually has a memory limit of 20Mi: https://github.com/gardener/gardener/blob/master/charts/seed-monitoring/charts/core/charts/prometheus/templates/prometheus.yaml#L223 and https://github.com/gardener/gardener/blob/master/charts/seed-bootstrap/templates/prometheus/statefulset.yaml#L89

@rfranzke have a look  at https://github.com/gardener/gardener/pull/2164

Thanks @mvladev, got it. Does it make sense to update the issue description to be more accurate about the fact that the problem observed ALSO in the prometheus-operator affects our Prometheus instances as well?

Updated


Fix inspirational image behind mission statement

During development we added an image as a background which disappeared during deployment. Easiest fix is probably just downloading it and throwing it into the repo itself

Done


can't output entrypoints when chalk < 5.3.0

when I install bun-plugin-pino, it won't install chalk, but I still run it with no console error. because I use it in monorepo, and other package in monorepo have installed low version chalk. So bun-plugin-pino don't show runtime error but appear output error just like issue title.
maybe chalk should be in dependencies not devDependencies

Thanks for the report!
I just yeeted chalk and added some logging options. Try out version 1.1.0.

thanks for your working. Unexpectly, I find it maybe not problem of bun-plugin-pino, but bun
https://github.com/oven-sh/bun/issues/13445#issue-2477746910

thanks for your working. Unexpectly, I find it maybe not problem of bun-plugin-pino, but bun oven-sh/bun#13445 (comment)

Not installing dev dependencies of dev dependencies should be the correct behavior. Either way, issues with module resolution and dependency management are why this package exists in the first place, and library authors adding deps instead of a couple of lines of code are not helping.


gCNV Joint Genotyping

Lots changed here, I'll try and make a summary...
Rationale
The previous incarnation of gCNV calls through to annotated joint call was using the wrong data - I erroneously thought that the Intervals VCF was the correctly joint genotyped source of information. Instead the workflow has a whole extra set of steps as shown in this WDL.
This meant restarting from the per-sample call generation, and shoving in a few more steps. That's what this change is doing.
New content
Stages/gCNV
Stuff that happens all over

the batch instance is no longer passed to the job-generating methods, instead the get_batch() method is used to accomplish the same
altered output file name to no longer contain the cohort.name - most/all data will be processed under the seqr project, so all files would have seqr as a name
where multiple values are obtained from prior stages (e.g. inputs.as_path(cohort, Stage, 'key'), these are obtained once as a dict, and each key is then pulled out. This should avoid re-triggering the logic to find prior stage outputs.

DeterminePloidy

output is stored in regular buckets, not tmp - the joint-genotyping stage now requires these files, and the (relatively) cheap final stages can't be repeated without these files which are expensive to reproduce

GermlineCNV

output files stored in main bucket, same reasoning applies

GermlineCNVCalls

fetching input from prior stages is done using the Cohort, not the Dataset. This was not an issue previously as both were Acute-Care.

PrepareVcfsForMerge

Step completely removed, it was adapting the wrong VCFs, and is not not necessary

GCNVJointSegmentation

Pulls in the Segment VCFs from all individual SG IDs, and triggers the joint-segmentation algorithm. This was done using a dummy Pedigree (IDs inside the files are from prod, file names and metamist entries are from test. GATK failed when the pedigree with prod IDs mismatched the file content)

RecalculateClusteredQuality

Pulls in the clustered results and re-scores the quality for each individual's calls based on the cohort context. This is essentially a second pass through PostProcessGCNVCalls with some additional arguments.
Missing: this step produces a QC file, with the intention that only QC PASS'es are used when generating the joint call. Based on this test run all samples failed 🙃 so we should reconsider the thresholds in use there. If we generate some QC results that make sense there, this should be the end of a first workflow - Hail can't make decisions about which samples to pass into the VCF merging state based on QC results that are generated within the workflow, so we would have to terminate here, and run a second workflow to parse the QC results, and use that data when generating the joint call.

FastCombineGCNVs

Mostly unchanged, except for the source VCF used when merging

Jobs/gCNV
postprocess_calls

Restructured so that two different stages can call this method - one naively to generate VCFs from the sharded Tar files, and once to recalculate qualities in a joint-call context. If the intervals, clusters, and QC file args are provided, the second behaviour is triggered
The 3 additional arguments are added to the GATK tool command-line args, and read into the batch as appropriate
The output directory is generated using mkdir - I don't know why or how, but the Tar'chive unpacking seems to delete/obfuscate the Hail Batch outputs folder, so the workflows crashed having nowhere to write to.
The job commands are added individually instead of as a single list of commands. The reasoning here is kinda dumb - this conditional behaviour creates the QC file for each sample, then writes that file out to GCP. The hail-batch resource files are only created once the "{job.output}" text is included in a call to job.command. The previous structure was elegant, but meant that j.qc_file wouldn't exist until all commands are sent to Hail. That means that this conditional loop would have to happen twice:

if qc file: generate qc stats
send command strings to Hail Batch
if qc file - retrieve the qc output file

which undermines the elegance of the original solution

run_joint_segmentation  & joint_segment_vcfs

Runs the joint segmentation operation in GATK, but as a 2-step. If the total number of samples is greater than X (from config), produce an intermediate round of merges
Step 1: split the group of SG IDs into groups of length X, then produce one merged VCF for each
Step 2: merge all the intermediate merge files

update_vcf_attributes

This method previously compensated for 'missing values' in the combined VCF (mostly missing because I was using the wrong input data.
Behaviours which are still required (to comply with Strvctvre more than anything else:

add SVLEN (header entry exists, but value is not populated in variant.INFO...)
generate a unique ID for each variant (the bcftools merge creates a huge list of ;-delimited IDs, not all of which are relevant to the specific variant)
Reassembles the INFO string, plus SVLEN

I've re-run this whole pipeline from scratch, with the latest job here (I cancelled it once I spotted that the MT outputs would be registered in metamist wrongly as es-indexes)
Apologies to all for the general grottiness of this PR

TODO remove that dummy pedigree


Fixes socketry/db-postgres#6 - Parsing of timestamps with microsecond precison

Postgres can return timestamps with microsecond precision, and db-postgres is failing to handle these well.
This is an attempt to fix that behaviour.
Notes:

An invalid timestamp will return a nil (as before), but maybe an explicit raise would be better?
Ruby <= 2.6 couldn't handle a timezone of UTC - only +HH:MM format
Ruby <= 2.6 can't handle timezones in +HH format (i.e. optional minutes)
Ruby <= 2.5 can handle microsecond precision, but typically hides it when testing in irb :/

Types of Changes

Bug fix.

Contribution

[ ] I added tests for my changes.
[x] I tested my changes locally.
[x] I agree to the Developer's Certificate of Origin 1.1.

I tested with the following values (collected from Postgres):
strings = [
    "2022-01-02 12:13:14",
    "2022-01-02 12:13:14-11",
    "2018-09-02 03:39:19+04:30",
    "2020-09-25 03:16:48.648682+00",
    "2022-01-02 12:13:14.123456",
    "2022-01-02 12:13:14.123456+08"
]

And I tested in Ruby 2.3 -> 3.1

Do you think it makes sense to add tests to prevent regressions?

Do you think it makes sense to add tests to prevent regressions?

Good idea. Just added some.
I could have just written unit tests for the Types, but seeing as your tests already depend on a real db connection, I decided to make use of that, and round-trip the test timestamps via the database to provide some guarantees that what I'm testing is valid.
Happy to swap it out for unit tests though. And let me know if you're not a fan of the indentation/coding style/etc.

Oh just a thought; infinity, -infinity and null are also values that Postgres can return in a timestamp column.
What do you think about raising and error if a timestamp can't be parsed? Because at the moment we're just silently returning a nil.


Rebase on LedgerHq/app-tezos-new

Rebase on ledgerhq/app-tezos-new as PR is out of date

Fixed by reverse MR from ledgerHQ/app-tezos-new to trillitech/ledger-app-tezos-wallet


Remove hardcoded clinepi-specific text

While on mbio, i get a warning about making the analysis appear on the ClinEpiDB page. I propose we change the language to say
"This analysis will appear on the Public analyses page." Alternatively, we do get the project name so we might be able to use that in the text.

A quick search shows that we use the string "ClinEpiDB" in a few places. We should never hardcode a website name in the project.

Seems like it should be possible to use the projectId var which we use to filter apps (line)?
Otherwise we should just make the text here and in Variables.tsx general.
Between Variables.tsx and this public analysis warning, i think that's all the hardcoded website names!

We should either make it generic or use https://github.com/VEuPathDB/WDKClient/blob/6d01ca1a547f9c8df65c5bd6d3ff597da9fe3313/Client/src/Service/ServiceBase.ts#L73. If the latter, we might want to make it a toplevel prop for WorkspaceRouter and make it available via a hook.

Looks good


Feature group hub

add group hub page
add join group

join with password
join with out password

remove encourage page

Feature Group-Hub can join and show name correctly. You can merge into main.


Find and replace countries => battles

Rename any instance of country to battle, including plurals and capitlizations

No problems on localhost that I have seen so far, no conflicts found on npm run start


Feature raisehand

PR : https://github.com/100mslive/100ms-flutter/pull/311 resolves the conflict and includes raise hand functionality. So, this PR don't need to be merged in develop now.


Kubectl: Failure when using release variables in K8s Service connection

Type: Bug
Task Name: KubernetesV1
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/KubernetesV1
Environment

Server - Azure Release Pipelines

Agent - Hosted:

Agent queue name: Azure Pipelines (Default)

Issue Description
This issue is similar to the bug #11920 that i've previously reported.
When we try to save a new/existing release pipeline with the following k8s service connection: "miranda-aks-$(Release.EnvironmentName)", the following error appears:
VS402913: The release pipeline cannot be saved because the stage 'alpha' references a service connection that cannot be found, or that you do not have permission to access. Details: 'Task 'kubectl create configmap' is using service connection '00000000-0000-0000-0000-000000000000',Task 'kubectl create secret' is using service connection '00000000-0000-0000-0000-000000000000',Task 'kubectl apply' is using service connection '00000000-0000-0000-0000-000000000000''
Troubleshooting
When setting the service connection to a fixed string like "miranda-aks-alpha" or with custom variable like "miranda-aks-$(SomeVarName)", the pipeline can be saved as expected.
The problem seems to occur when using the predefined release variable.
The existing pipelines with this configuration are working as expected so it seems to be a validation problem.
Screenshots

@josh-01 to take a look

Hi @luca-esse ,
A code change to fix a security flaw is why now it throws an error for 'save' when predefined variables like 'Release.EnvironmentName' are used in Service Connection name
Predefined variables are not resolved during save of RD, but later when the release is created and run.
Instead you could use Stage variables for this purpose, which are resolved during RD 'save/update'.
Please let me know if any doubts/questions.
Thanks!

Closing issue. Kindly reopen if issue persists.

I am having the same issue but I am using an environmentCode library variable that is linked from my key vault. The service connection has access to the key vault. I'm guessing this is because the KV isn't pinged upon save/update so it can't validate the RD. When the library variable isn't linked it works fine.


Cooperations

Hello.
I am writing to you because i've noticed you have experience with arbitrage trading strategy.
We are researching the technology behind arbitrage bot for Decentralized Exchanges.
We can offer some help, partnership, or a hourly paid contract.
If you find my offer interesting, please leave you contact or reach out to me.
My telegram is @mikevolkov
Best regards, Mike

No thanks.


Type conversion to isinstance modernization.

This is roughly 20% faster and doesnt rely on an equality check under the hood. https://www.pylenin.com/blogs/type-vs-isinstance/#type-vs-isinstance

This is doing something to skin weight import, will try to pinpoint it


seeds.rb file appears to be out of date

Running rake db:seed results in an error, presumably because seeds.rb needs updated:

(0.5ms)  SELECT "languages"."abbreviation" FROM "languages"  ORDER BY "languages"."abbreviation" ASC
Language Load (0.3ms)  SELECT  "languages".* FROM "languages" WHERE "languages"."default_language" = $1  ORDER BY "languages"."id" ASC LIMIT 1  [["default_language", "t"]]
(0.4ms)  SELECT "languages"."abbreviation" FROM "languages"  ORDER BY "languages"."abbreviation" ASC
Language Load (0.4ms)  SELECT  "languages".* FROM "languages" WHERE "languages"."default_language" = $1  ORDER BY "languages"."id" ASC LIMIT 1  [["default_language", "t"]]
Language Load (0.4ms)  SELECT  "languages".* FROM "languages" WHERE "languages"."default_language" = $1  ORDER BY "languages"."id" ASC LIMIT 1  [["default_language", "t"]]
Language Load (0.3ms)  SELECT  "languages".* FROM "languages" WHERE "languages"."default_language" = $1  ORDER BY "languages"."id" ASC LIMIT 1  [["default_language", "t"]]
ActiveRecord::SchemaMigration Load (0.3ms)  SELECT "schema_migrations".* FROM "schema_migrations"
rake aborted!
ArgumentError: Factory not registered: identifier_scheme
/usr/local/bundle/gems/factory_bot-4.11.1/lib/factory_bot/registry.rb:24:in find' /usr/local/bundle/gems/factory_bot-4.11.1/lib/factory_bot/decorator.rb:10:in method_missing'
/usr/local/bundle/gems/factory_bot-4.11.1/lib/factory_bot.rb:100:in factory_by_name' /usr/local/bundle/gems/factory_bot-4.11.1/lib/factory_bot/factory_runner.rb:12:in run'
/usr/local/bundle/gems/factory_bot-4.11.1/lib/factory_bot/strategy_syntax_method_registrar.rb:20:in block in define_singular_strategy_method' /opt/src/dmp/db/seeds.rb:43:in block in <top (required)>'
/opt/src/dmp/db/seeds.rb:43:in map' /opt/src/dmp/db/seeds.rb:43:in <top (required)>'
/usr/local/bundle/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in load' /usr/local/bundle/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in block in load'
/usr/local/bundle/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:240:in load_dependency' /usr/local/bundle/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in load'
/usr/local/bundle/gems/railties-4.2.10/lib/rails/engine.rb:547:in load_seed' /usr/local/bundle/gems/activerecord-4.2.10/lib/active_record/tasks/database_tasks.rb:253:in load_seed'
/usr/local/bundle/gems/activerecord-4.2.10/lib/active_record/railties/databases.rake:173:in block (2 levels) in <top (required)>' /usr/local/bundle/gems/rake-12.3.2/exe/rake:27:in <top (required)>'
Tasks: TOP => db:seed

@briri @xsrust one of many I want to check with you whether this is still relevant and should be assigned to backlog?

yes this has been resolved in the later releases of the code


Port TaskSeq.takeWhileInclusive

I'd like to see takeWhileInclusive (it has uses in Equinox) be ported from AsyncSeq.
Will post a PR to add it to the TODO list (and then one to implement it) in due course unless someone beats me to it, or there are objections to adding it...

Spike impl:
let TaskSeq_takeWhileInclusive predicate (source: taskSeq<_>) = taskSeq {
        use e = source.GetAsyncEnumerator(CancellationToken())
        let! step = e.MoveNextAsync()
        let mutable go = step
        while go do
            let value = e.Current
            yield value
            if predicate value then
                let! more = e.MoveNextAsync()
                go <- more
            else
                go <- false
    }

(derived from Internal.tryPick + base impl )

So this is like “get next, yield that, test predicate on that one, if true, repeat”. That is, return element first, before testing predicate.
Interesting function. I was about to add a whole section (just like I did for seq) listing all functions that I’ll implement and which (likely) not.
Your proposal looks good, as does the code, feel free to issue a PR, it’ll need to have matching tests (I’m a little more rigorous than the AsyncSeq team in that regard and need notable corner cases), but I can help you with that.

Thanks! Yes, I had noted that there was going to be no skimping on test coverage based on poking around ;)
But that's also why I confidently spent time converting Equinox and Propulsion over.
Won't get to the PR immediately but I'll get to it...

That does seem to make sense (although I'm struggling to think of a time I've ever had the use case), but arguably you'd call it skipUntil ?
Of course, that would call the name of takeWhileInclusive into question, but it makes less sense there.
On balance the Inclusive-based name is probably best overall for someone scanning intellisense?

This issue was implemented in #126 and will be published in the next version of NuGet (be it 0.4.0 or 0.3.x). 💯 @bartelink

Seq has Seq.skipWhile and I like to stick with its naming conventions

On reflection, my suggestion doesn't make as much sense as it did in my head as I typed it. I was suggesting to replace the usage of the term WhileInclusive with Until, on the basis that it would naturally imply the Inclusive aspect. But I wasn't considering the fact that Until does mean inverting the predicate. Either way I was definitely not suggesting not providing a takeWhile, or having two functions that only differ by the fact that the predicate's meaning is inverted (I suffer enough mental anguish there being a filter and a where as it is!)
130 would be the better for removing any reference to Until (but commenting here to keep the noise down!)


Create .gitignore file

[x] Create .gitignore file
[x] Add pycache files
[x] Remove cached pycache files from git

this is how to untrack files in git repository included in .gitignore
recommended .gitignore files for python projects


Can a System.Reflection.Assembly.Location be changed?

So I am loading dll’s from a zip file using this Extension class located here: https://github.com/Elskom/Els_kom_new/blob/master/Els_kom_Core/Classes/AssemblyExtensions.cs
However I am not sure if they way I am loading it if their locations are set properly. I would like it to be \<assembly (or pdb or both) file name>. And if not, if I could manually change it in my method.
With that then one can tell from where exactly the assembly was loaded from in debug mode from the presence of the “.zip” on the path that vs says the filewas loaded from.
Also if desired I made the class friendly to the .NET framework if it is ever wanted or added to the .NET framework/Core. I personally do not mind it being added to it either. Just I wish I could just call it in my code as a static member of System.Reflection.Assembly though. I guess maybe that will happen when c# 8 comes.
Edit: After reading it seems there is a LoadModule method. Would it work in the case of this on this method to set the actual location to the way I want above?
My reasoning for loading dll’s and pdb’s (if enabled in the program ui or when debugging the program itself in vs) is so that the program directory is not cluttered with installed plugins (simply installing them and their debug symbols to a zip or a Plugins folder based upon the user’s personal preference seems like a good idea). And yes on the program I plan to add a sort of plugins form or something for downloading updated plugins / installing & uninstalling them similar to vs extensions where it would require restarting the program to take effect. But if the .NET framework had a way of downloading, updating, installing and updating ‘plugins’ itself to a folder or file (like a zip file or something) by just passing in a url to it that would be nice too and much help as well. Currently I am of thinking things like the following:

each plugin has it’s own github repository where each commit is built and deployed as a pre-release until a tag build.
user can add a repository to download, install, and update from that is stored in the application settings as ‘sources’ similar to apt on linux does.
each release and pre-release can be installed and the latest pre-releases seen as ‘newer’.
download the latest release or pre-release build and symbols.
Restart application and it loads them.

Hi -- I am not sure what exactly you are asking for -- would you mind restating the question?

You should be able to get the location of the assembly (the dll) by using reflection. The location of the PDB is not really something that Reflection would do. The debugger engines have a lot of heuristic for loading the PDB that matches a given assembly.
Can you tell me more about why you are interested in seeing the pdb location?

I was thinking more about the actual dll location. although it would be nice if one could pass in a string to the Load(byte[]) and Load(byte[], byte[]) to fallback on instead of string.Empty on System.Reflection.Assembly.Location. That way I do not have to try to hack a workarround for it. https://github.com/Elskom/ZipAssembly/
But does the current function it calls before it does:
if (location != null)
// some code for directory stuff
return location;
in the property even support files within zips? If it does then I do not have to worry but I load the files and their symbols in the zips from byte arrays.

Would you mind sharing some code as to what you are trying to do?
If you want to load an assembly from disk using a file path, you can use the Assembly.LoadFrom(string assemblyFile) method.
I don't think we have a way to directly load an assembly from a zip archive.

Sure, basically I want a way to have my Zip Assembly loader class to somehow override the normal Location property return value in the Assembly instance it creates to instead of being string.Empty because I pass the bytes of the zip entry content to the Load method to instead return like <zip file name passed to my static LoadFromZip method>\<entry path of file to load from zip passed to my static LoadFromZip method>.
The code to that class is located here:
https://github.com/Elskom/ZipAssembly/ZipAssembly.cs
and:
https://github.com/Elskom/Els_kom_new/blob/master/Els_kom_Core/Classes/AssemblyExtensions.cs
However both have a lot of hacking, sadly the only way currently to get what I want is to reimplement much of System.Reflection itself which is not the best solution. What we need is some way to do the original work, check if someone registered some special things to do instead (if loaded from byte arrays) of the original behavior. Maybe like some sort of way to pass in the override string to return somehow whenever getting the location of an assembly instance loaded with my zip loader.

Thanks for the additional information. Do you have a hard requirement to return an object that is of type Assembly? Or can you return your type that encapsulates the assembly?
Do you have a sample of how your code is going to be used?

I would like to return Assembly yes, and the code is used specifically for loading plugins. I tested the loader class I got so far in my code and it loads the assembly fine from a zip file.

Thanks -- so the issue you are seeing now is that you don't have a way to overwrite the location of the assembly object once you load it.
I think the current behavior is by-design. You can file an issue in the CoreFx repo to change this behavior, but due to compatibility reasons that might not be something we can do.

How could I set Assembly Location when load assembly from bytes array? Because I need find some resources(icon, etc).


💯

we weren't using the default function anyways

Codecov Report

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

@@            Coverage Diff            @@
##           master     #6       +/-   ##
=========================================
+ Coverage   88.88%   100%   +11.11%
=========================================
  Files           1      1
  Lines           9      8        -1
  Branches        5      5
=========================================
  Hits            8      8
+ Misses          1      0        -1

Impacted Files
Coverage Δ

src/flags/team.js
100% <ø> (+11.11%)
:arrow_up:

Continue to review full report at Codecov.

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


Entities are reqired(?)

The card   entities are required and in addition filters with wildcard can be used.
Why not only filters?
Now I must specify at least one entity and in addition filters for making the card work.
type: 'custom:battery-state-card'
title: Sensor Battery Status
sort_by_level: asc
entities:
  - entity: sensor.fib_flood_sensor1_battery_level
filter:
  include:
    - name: entity_id
      value: sensor.fib_*_battery_level
    - name: attributes.device_class
  exclude:
    - name: state
      value: 5
      operator: =

Good point - this field should be required. You don't need to specify any particular entity though - just put there an empty array:
entities: []

fixed


Num_class must be 1?

It seems that the num_class must be one, otherwise I need to change the code of L1_loss, so if I have two classes, should I use class=1 or change the loss code?
Thank you for your help!

Sorry for the late reply. Yes the num_class must be 1, because we are only predicting a time series (F0). The original JDC net was designed to predict the note classes for MIDI transcription, but here we used it for F0 curve prediction only.


now --alias doesn't work

now -v
𝚫 now 4.0.1

I don't have a package.json file. Maybe that's the issue?

@luisrudge The command is now alias, which should be run after now, and will point the alias to the latest deployment. More information is available here.
Additionally, --alias is being deprecated.

https://zeit.co/blog/easy-aliasing


SIGSEGV on demo_app quit after wgpu 22.0.0 update

Describe the bug
egui_demo_app crashes on quit with EXC_BAD_ACCESS (SIGSEGV) after wgpu 22.0.0 update (#4847)
To Reproduce
Steps to reproduce the behavior:

checkout egui master
cargo run
close demo app window or command-Q

Expected behavior
Clean quit
Screenshots

Desktop (please complete the following information):

OS: macOS 12.7.5 (21H1222)

Additional context
Works fine on commit b2d74ea, just before the wgpu update commit.

Process:               egui_demo_app [17052]
Path:                  /Users/USER/Documents/*/egui_demo_app
Identifier:            egui_demo_app
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        zsh [10718]
Responsible:           Electron [10688]
User ID:               501

Date/Time:             2024-07-26 07:44:53.4393 +0400
OS Version:            macOS 12.7.5 (21H1222)
Report Version:        12

Time Awake Since Boot: 61000 seconds
Time Since Wake:       549 seconds

System Integrity Protection: enabled

Crashed Thread:        0  main  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000010
Exception Codes:       0x0000000000000001, 0x0000000000000010
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [17052]

VM Region Info: 0x10 is not in any region.  Bytes before following region:<PHONE_NUMBER>0
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->
      commpage (reserved)<PHONE_NUMBER>-7000000000   [384.0G] ---/--- SM=NUL  ...(unallocated)

Thread 0 Crashed:: main Dispatch queue: com.apple.main-thread
0   egui_demo_app                 	       0x102bd7258 alloc::sync::Arc$LT$T$C$A$GT$::drop_slow::ha4f3f5b38712d026 + 28
1   egui_demo_app                 	       0x102bdc25c wgpu_core::device::any_device::AnyDevice::new::drop_glue::h3de37e88b3431ce7 + 48
...

@Wumpf

Thanks for reporting! Repros cleanly on my mac as well, haven't checked if backend / platform is relevant here, likely not important.
Happens apparently whenever the surface is dropped after the device. Workaround and issue (huh or maybe even fix in wgpu, seems trivial) coming.

well, this was fun. Details see above linked PRs


koord-scheduler: loadAwareScheduling skip node without NodeMetric in …

…filter/score phase
Signed-off-by: Joseph<EMAIL_ADDRESS>Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?
fix #316

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/lgtm
/approve


Add support for vim bindings

Thank you for the project.
While navigating the tables, it would be really useful to add support for vim bindings.
This would require to map the following keys to:
j -> down
k -> up
l -> right
h -> left

As of now, We use https://github.com/calyptia/go-bubble-table for rendering the table, and they only support arrows for navigation when moving in table view.
I have the changes locally adding vim support to the upstream library, but I'm not sure if that's going to be accepted.
If not, we can implement a table and keybindings from scratch.

@kranurag7 thanks for writing up this issue! I totally agree that we should add vim keybindings. I'm not married to the use of calyptia/go-bubble-table because it does seem like a low maintenance project and was considering a couple options:

Creating a fork of it and build new features on top of it (would give the option of trying to contribute the changes back to the upstream project) and using the go mod replace directive to point to my fork
Writing a custom table implementation. I originally didn't do this because I wanted to get an mvp out the door ASAP. Now that there is an initial thing that has the general user experience I'm looking for I'm open to writing something custom to replace go-bubble-table.

If you're willing to contribute any of this, let me know! I'm happy to accept any contributions that improve the overall feel and experience of the project!

Another thought I had for a short term workaround could be to catch the vim keybindings in the table panel and remap that to an arrow key message to send to the go-bubble-table but that feels like unnecessary tech debt at this point and as much as I hacked this project together I'd like to start being a bit more picky about doing things the right way from the get go 😁


Error carthage update

Hi!
There was a problem during installation. (Using Xcode 8.3.2)
$ carthage update --verbose

*** Fetching QuietModemKit
*** Checking out QuietModemKit at "v0.1.5"

... ...

Undefined symbols for architecture arm64:
  "_quiet_encoder_close", referenced from:
      -[QMFrameTransmitter close] in QMFrameTransmitter.o
  "_quiet_encoder_set_nonblocking", referenced from:
      -[QMFrameTransmitter setNonBlocking] in QMFrameTransmitter.o
  "_quiet_encoder_send", referenced from:
... ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

or

Undefined symbols for architecture armv7:
  "_quiet_encoder_close", referenced from:
      -[QMFrameTransmitter close] in QMFrameTransmitter.o
  "_quiet_encoder_set_nonblocking", referenced from:
      -[QMFrameTransmitter setNonBlocking] in QMFrameTransmitter.o
  "_quiet_encoder_send", referenced from:
... ...
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What should I do?
Help me

Hi Joseph,
Do you have cmake installed?

yes! I do brew install cmake.
and QuietModemKit 0.1.3 build succeded
so now using version 0.1.3

So you're saying that v0.1.3 works but 0.1.5 does not?

@brian-armstrong Yes.
github "Quiet/QuietModemKit" == 0.1.3

Build Succeded
github "Quiet/QuietModemKit"
Build Failed

@brian-armstrong
It seems to have solved the issue.
Maybe, I have a problem copying a local file due to the following message.
$ carthage update --platform iOS --verbose

*** Fetching QuietModemKit
*** Checking out QuietModemKit at "v0.1.5"
*** Building scheme "QuietModemKit" in QuietModemKit.xcodeproj

cp: /Users/josephnk/Library/Caches/org.carthage.CarthageKit/DerivedData/QuietModemKit/v0.1.5/Build/Products/Release-iphoneos/sysroot/usr/lib/libliquid.a: No such file or directory

$ cp /usr/local/lib/libliquid.a /Users/josephnk/Library/Caches/org.carthage.CarthageKit/DerivedData/QuietModemKit/v0.1.5/Build/Products/Release-iphoneos/sysroot/usr/lib

So I deleted and reinstalled and I succeeded.
$ rm -rf /Users/josephnk/Library/Caches/org.carthage.CarthageKit/DerivedData/QuietModemKit/v0.1.5

$ carthage update --platform iOS --verbose

*** Fetching QuietModemKit
*** Checking out QuietModemKit at "v0.1.5"
*** Building scheme "QuietModemKit" in QuietModemKit.xcodeproj
... ... ...
** BUILD SUCCEEDED **

sorry, brian-armstrong
It was my mistake


lack of response data when creating or updating messages

Hello,
I just found this package and while experimenting with message creation, I found that the info on the message or comment I just created is not returned.  Same for updates.
I would think the default return value for most, if not all, API calls would be response.json() on success unless there is some larger design consideration that would conflict with doing that.
This looks like a great start, though!

Hello @DaveP987, this is correct, once the MessageBoard object is initiated it collects the data from that board, and if you make any changes on that message board the data will not be updated. Thank you for mentioning it, this is something that I will upgrade in the future.
Until then the workaround is to manually initiate the same MessageBoard object after you have made any updates.

Hi @markostefanovic1,
I tried that approach at first, but when I create a new message and have to refresh the cache, I couldn't guarantee that I could pick my new message out of the updated cache to get the ID for use in subsequent calls.  What I wanted to do was a sequence like the following:
    bc = Basecamp(credentials=...)
    message_board = MessageBoard(project_id=..., message_board_id=...)

    **new_msg** = message_board.create_message(...)

    updated_msg = message_board.update_message(**new_msg['id']**, ...)

but, there is no such return from create_message or update_message.
I found that simply returning response.json() from these methods instead of dropping that info did the trick.
The same idea applies to comments.
Thanks.


memery need gc

Every time after I press F5, Brackets two process become larger on memery.
It comes slower and slower during I using it.

@whysqwhw Unfortunately we do not have control over the GC of CEF/chromium process. What we have observed is that as and when needed, chromium's GC kicks in and relinquishes any unsused memory.
Reloading Brackets is going to just reload the main html page, which takes care of loading all the required components.


Computed Vars optimization

Cool framework!
There are keys dropped when typing in the <input> field for the 'Computed Vars' demo in the docs
E.g. typing 'Hello World' at normal speed shows as 'HELO WLD' in the computed heading.

Hi Mike sorry for the delayed response we have been reworking our framework the last month and came up with some ways that can resolve this problem. Firstly, we have changed the way our events are queued so now keystrokes should not be missed.
We have some new ways to do this that are much more performant than before in the docs. In this example requests get sent on every key stroke with the on_change event trigger, however, the on_blur event trigger will just send one request when the user focus out of the input component. We still support both as seen in our input docs. We have many different event triggers to use and can be seen in each components individual docs.
More about this specific upper case example can be found in our var docs we have changed it to the on_blur for performance reasons.

Closing because now you can use different event handlers to improve performance.


UnionMap can return multiple values for same key?

Not too sure but looking at the code
https://github.com/line/armeria/blob/master/logback/src/main/java/com/linecorp/armeria/common/logback/UnionMap.java#L111
UnionMap returns a set of entries which is the union of two maps. But since entry-comparison is for key/value pairs, I think this set will have entries from both maps even when a key is duplicated. Presumably it should be deduping on the key only.

BTW, I solve it in a copy of the code here
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/1165/files#diff-8b7756d159c5ffa3012c5c264eb5ab00R114

Presumably it should be deduping on the key only.

Agreed. We gotta fix that. 😄


Refactor the stopListening() function to only run once

This PR fixes a subtle logic difference introduced in #538.
Previously, the stopListening() function in onLCP.ts would only ever run once, but with the change in #538 it could run more than once. I don't think this would result in any real change in behavior (since the metric shouldn't have changed between invocations); however, I think it's still better to restore the previous behavior.

Could you explain what the "subtle logic difference" is and why that means it could run more that once?
And won't the if (!reportedMetricIDs[metric.id]) { guard prevent it running more than once anyway?

Could you explain what the "subtle logic difference" is and why that means it could run more that once?

With the current logic, the stopListening() function could get invoked three times, once for each of the click, keydown, or visibilitychange events. Each time it gets invoked it creates a new instance of the function that gets passed to runOnce().
With my changes, the stopListening() function is assigned the result of what runOnce() returns, so there's only a single copy of that logic rather than potentially three copies.

And won't the if (!reportedMetricIDs[metric.id]) { guard prevent it running more than once anyway?

Yes, I think it will. I'd actually forgotten about that, so maybe the runOnce() is not even needed? Or perhaps the reportedMetricIDs object is not needed?

It looks like the runOnce() code was added in this commit https://github.com/GoogleChrome/web-vitals/commit/e5e4a6d188da2ecd2d78279e4c8e946408a743ca which addressed a different change and which doesn't seem to account for the reportedMetricIDs object, so maybe that can be removed?

Cool. I figured it was the three click handlers, but with the guard I wasn't 100% sure.
Personally I have the if (!reportedMetricIDs[metric.id]) { simpler to grok. Especially as whenIdleOrHidden will use runOnce, but then there's another one in stopListening so called twice in some cases. Which also hurts my brain to think of all this...

I decided to remove the reportedMetricIDs object, since it was used it multiple places like the onBFCacheRestore(), which I don't think was needed? Also removing reportedMetricIDs resulted in a smaller bundle size than removing the runOnce().


Add docker-compose file

Docker compose allows you to put all of your docker run bash scripts into one spot. This puts all of them into one file to allow for a single command deployment. Instead of a multi-step command install.
Just docker-compose up -d and all of the containers will run at the same time.
Some notes:

This is untested.
I have no idea what environment variables are the ones I should be using.
---> Alternatively, I could make this file import a .env file which could be committed as: docker.env.example and then .gitignore the real docker.env

Hi thanks for this! I did write a docker compose a while ago but it was kind of funky to get it working because there were a lot of environment variables needed and sometimes the middleware and database need some time to start before starting the other container

To get around potential starup times I could also add restart: always, which would restart the containers if it can't immediately connect. Or, I could add a healthcheck which will make the depends_on wait until the command in the health check is successful. Generally this is like a curl localhost:port/ping or something similar
https://docs.docker.com/compose/compose-file/compose-file-v3/#healthcheck

Hey thanks for your PR. We had to do a bunch of updates to both the middleware and server to get docker compose working. We had to mount the configs instead of have them in the docker on build. But we have it 100% working now and have multiple dockerhub images:

https://hub.docker.com/repository/docker/horizonprivateserver/horizon-server/general
https://hub.docker.com/repository/docker/horizonprivateserver/horizon-server-database-middleware/general

Here's where we are storing the docker compose and configs:
https://github.com/Horizon-Private-Server/horizon-docker


Silent mode not working!

Weights and Biases version: 0.8.35
Python version: Python 3.6.10 :: Anaconda, Inc.
Operating System: Linux

Description
Doing the despite enabling silent mode I'm still getting log messages in jupyter lab.
What I Did

Hey @cduguet we're working on an overhaul of the library that will fix these output issues once and for all.  Until then, the following should turn them off in jupyter:
import logging
logger = logging.getLogger("wandb")
logger.setLevel(logging.WARNING)

thank you!!

@vanpelt 's advice silences the log messages, but not the 'Logging results to' lines. For that you have to install PR #1495, a la
pip install git+https://github.com/wandb/client.git@bugfix/CLI622-jupyter_obey_wandb_silent --upgrade

Hopefully it'll make its way into the release soon! Anyway, with this codebase,
%env WANDB_SILENT=true

import wandb
wandb.init(name='first', project='wandb-test');

is mercifully, finally silent.


feat(react): add DevMode

fix: #446
Overview

@okinawaa @minsoo-web I want to add new feature DevMode in @suspensive/react or in new package @suspensive/react-devtools
Before add new feature, I want discuss this without explaining it. because I want to make DevMode's user understand it easily without studying
'use client'

import type { ErrorBoundaryFallbackProps } from '@suspensive/react'
import { DevMode, ErrorBoundary, Suspense, devMode } from '@suspensive/react'
import { Area, Box, Button, Spinner } from '~/components/uis'

export default function Page() {
  return (
    <Area title="devMode">
      <Area title="<Suspense devMode={{ showFallback: true }} />">
        <Suspense fallback={<Spinner />} devMode={{ showFallback: true }}>
          <Box.Success>children</Box.Success>
        </Suspense>
      </Area>

      <Area title="<ErrorBoundary devMode={{ showFallback: true }} />">
        <ErrorBoundary fallback={ErrorBoundaryFallback} devMode={{ showFallback: true }}>
          <Box.Default>children</Box.Default>
        </ErrorBoundary>
      </Area>
      <Area title="<ErrorBoundary devMode={{ showFallback: { after: 2000 } }} />">
        <ErrorBoundary fallback={ErrorBoundaryFallback} devMode={{ showFallback: { after: 2000 } }}>
          <Box.Default>children</Box.Default>
        </ErrorBoundary>
      </Area>

      <Area title="devMode.on/off">
        <div className="flex gap-1">
          <Button onClick={devMode.on}>on</Button>
          <Button onClick={devMode.off}>off</Button>
        </div>
      </Area>

      <DevMode position="topRight" />
    </Area>
  )
}

const ErrorBoundaryFallback = ({ error, reset }: ErrorBoundaryFallbackProps) => (
  <Box.Error>
    {error.message}
    <Button onClick={reset}>↻</Button>
  </Box.Error>
)

PR Checklist

[x] I did below actions if need

I read the Contributing Guide
I added documents and tests.

First of all, I'm sorry for the late confirmation.
First of all, I understood by looking at the code, but from the user's point of view, there seems to be something that needs to be improved by showing documents and example cases.
From my understanding, DevMode's role seems to be a tool to help you control

"when you want to see the fallback of Suspense, Errorboundry on purpose,"

is that right?
I think DevMode's naming made it harder to understand for now.
I think Redux or react-query are examples of that
And assuming that we usually use developer tools, I think we only declared it once at the top and tested the development environment using only that tool.
But now that I control each by calling DevMode components to a specific Suspense and Errorboundry, I thought it might be a little inconvenient for users.
Because, I think I'll have to intentionally erase the code when I go to production.
First of all, I think that if I understand what I meant, it would give me a great DX.
But I thought that I should give you a guide through clear examples and documents to improve.

And visualization app is also production, user can't see Devmode 😢

Note to remember idea: how about make each Suspense, ErrorBoundary contain DevMode

@minsoo-web I reflect our discussion in #481. check it out please.
I want to get confirmation of this new public apis before writing official docs

[Feature] svg logo for SuspensiveDevTools need


注解模式和API模式telnet无法使用invoke

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.10
Operating System version: MacOS
Java version: 1.8.0_281

Steps to reproduce this issue

clone代码

git clone git@github.com:apache/dubbo.git
git checkout -b 2.7.10 7b39089f

分别运行dubbo-demo-annotation, dubbo-demo-api, dubbo-demo-xml的provider Application

dubbo-demo-annotation

dubbo-demo-api

dubbo-demo-xml

xml方式的telnet可以invoke，其他两种不行
请问一下是我使用的方式不对吗？还是说2.7.10版本的Dubbo 注解和api方式不支持telnet的invoke的那些参数？

This is caused by the introduction of the qos module in the xml project. I will mention a pr to adjust the package dependency of the xml demo to be consistent with the annotation module.

&READY-TO-CLOSE&


⚠ GitLab Server has degraded performance

In be2df36, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6535 ms

Resolved: GitLab Server performance has improved in d338c02.


add signature module

It would be great to add the capability to add signature to a submission, using tablet or smartphone on the field.
A tipical use case could be an  inspection control survey, when,  after compiling the form, you tipically need  also the signature of the responsible of the entity/company  that you controlled.
Just to better explain, here a sample that i found on the web
http://thomasjbradley.ca/lab/signature-pad/
Thank you
Enrico

Very interesting. It's cool that it's stored as JSON.
@DerrickBurke what do you think about this?


Publish 7.4.1-20220218010008+0000

Publish 7.4.1-20220218010008+0000

@bot-gradle test and merge

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.


Download of itemsets blocking

When trying to download the newest itemsets, the download stops at "Processing Rift: zyra" (which is the last champ to be downloaded) then the program just hangs up!
Are there any logs with which i could give u some further info`?

same here

Same thing here :(

Run it near 5 hours after in case it was due to bring done too close to the patch, same issue :(

Sorry about that, missed a function when I was doing a cleanup. New version fixes the problem!


Unable to seed database due to missing gem requirement

Typhoeus needs to be called out as a dependency in the manageiq-providers-autosde.gemspec
LoadError: No such file to load -- typhoeus.rb
/home/grare/adam/.gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:291:in `require'
/home/grare/adam/.gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:291:in `block in require'
/home/grare/adam/.gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:255:in `block in load_dependency'
/home/grare/adam/.gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:661:in `new_constants_in'
/home/grare/adam/.gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:255:in `load_dependency'
/home/grare/adam/.gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:291:in `require'
/home/grare/adam/src/manageiq/manageiq-providers-autosde/app/models/manageiq/providers/autosde/storage_manager/openapi_client/generated/lib/openapi_client/api_client.rb:17:in `<top (required)>'
/home/grare/adam/src/manageiq/manageiq-providers-autosde/app/models/manageiq/providers/autosde/storage_manager/openapi_client/generated/lib/openapi_client.rb:14:in `require_relative'
/home/grare/adam/src/manageiq/manageiq-providers-autosde/app/models/manageiq/providers/autosde/storage_manager/openapi_client/generated/lib/openapi_client.rb:14:in `<top (required)>'
/home/grare/adam/src/manageiq/manageiq-providers-autosde/app/models/manageiq/providers/autosde/storage_manager/autosde_client.rb:1:in `require_relative'
/home/grare/adam/src/manageiq/manageiq-providers-autosde/app/models/manageiq/providers/autosde/storage_manager/autosde_client.rb:1:in `<top (required)>'

This was hit while running rails db:drop db:create db:migrate db:seed, with the provider-basics branch


Please put up swap-ui example on https://project-serum.github.io/swap-ui/ again

Please put up https://project-serum.github.io/swap-ui/. It was convenient for testing and comparing features

The app in example/ is for educational purposes and so there is no plans to host it. Perhaps this can be used with devnet, however.


implementation deadEndsToString

simple implementation deadEndsToString function

This is a duplicate of #16

I like this version, with the row and col position.  Nice!

@brianvanburken, it is desirable to have multiple issues or PRs about a topic.

With issues, having more examples makes it easier to figure out. Having many examples in a single thread makes it very mentally difficult to disentangle when there are three or four different root, so "duplicates" is actually way nicer to work with in my experience!
With PRs, you get similar benefits. Seeing different perspectives on how to fix something only helps!


1 bit inference

I want to test the generation of 1-bit model, and I use code as following:
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B")
model = AutoModelForCausalLM.from_pretrained("meta-llama/Meta-Llama-3-8B", torch_dtype=torch.float16)

#Quantize
quant_config = BaseQuantizeConfig(nbits=1, group_size=64, quant_scale=False, quant_zero=False, axis=1)
AutoHQQHFModel.quantize_model(model, quant_config=quant_config, compute_dtype=torch.float16, device="cuda")

AutoHQQHFModel.save_quantized(model, "<model_dir>")

model = AutoHQQHFModel.from_quantized( "<model_dir>")

model.eval()
prompt = "Once upon a time"
input_ids = tokenizer.encode(prompt, return_tensors='pt').to('cuda')

with torch.no_grad():
    output = model.generate(input_ids, max_length=50, num_return_sequences=1)

# Decode the generated tokens to text
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)

print(generated_text)

It outputs wrong tokens: Once upon a timeopardłeopardłełełełeblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblrblr
I didn't use prepare_for_inference, because it seems only supporting int4 quantization.
What's the reason for this?
Does HQQ support 1-bit inference?
Will HQQ automatically dequantize in the inference stage?
Thanks!

1-bit doens't work well without some kind of post-training calibration. You need HQQ+.
I double 1-bit would work with Llama3-8B, it's too small and difficult to quantize even at 2-bit.

Hello, appreciate your response! I looked through HQQ+'s blog and tried the published "mobiuslabsgmbh/Llama-2-7b-chat-hf_1bitgs8_hqq". I have several questions:

So for trying HQQ+, we just use the example "/hqq/examples/lora/train_hqq_lora_example.py", and if we want to use HQQ+ for 1-bit, just change the BaseQuantizeConfig's nbits to 1?

The introduction of "mobiuslabsgmbh/Llama-2-7b-chat-hf_1bitgs8_hqq" said the 1-bit model only fine-tune part of the model: "fine-tune a small fraction of the parameters (~94MB worth of weights)". Does this mean the model's weight was completely quantized to 1-bit, but we only apply lora adapters to part of the linear weights, such as q,k,v,o proj, and not for mlp layers? Or does these mean only part of the weight was quantized as well? But I thinkd the model size 1.85 should be my former guess.

 The original linear layer and lora should not have bias term.

Is group_size=8 the only setting for 1-bit? Can it be relaxed to 16,32, 64 etc?

A lot question, thanks for your patience and look forward to your valuable reply! Thanks!

Appreciate for all the response!

Hi, so for the bias question I asked above. In the pdb result I shown above. There is a bias term in the layers[0].self_attn.q_proj.  I'm still a little confused cause lora only train the bias which is included in the original pretrained model. But lora will not add a new bias term to train. And I also see the HQQLinearLoRA. It can train the bias but will not add the bias? So where does this bias come from? The original pretrained model doesn't have this bias term.
Looking forward to your response! Appreciate it!

Hi, so for the bias question I asked above. In the pdb result I shown above. There is a bias term in the layers[0].self_attn.q_proj. I'm still a little confused cause lora only train the bias which is included in the original pretrained model. But lora will not add a new bias term to train. And I also see the HQQLinearLoRA. It can train the bias but will not add the bias. So where does this bias come from? The original pretrained model doesn't have this bias term.
Looking forward to your response! Appreciate it!


New Array Helper Function

Returns the value of an element with a key value in an array of uncertain depth.
Each pull request should address a single issue and have a meaningful title.
Description
I wrote a new method for Array Helper. With this method, we can search an array of uncertain depth.
Checklist:

[ ] Securely signed commits
[ ] Component(s) with PHPdocs
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

please follow ci coding standard, you can fix with run the following command:
composer update && vendor/bin/phpcbf --standard=./vendor/codeigniter4/codeigniter4-standard/CodeIgniter4 system/Helpers/array_helper.php

Please do run the style fixer as @samsonasik mentioned. We will also need some tests - should be fairly easy just to add them to the ArrayHelper tests.

please follow ci coding standard, you can fix with run the following command:
composer update && vendor/bin/phpcbf --standard=./vendor/codeigniter4/codeigniter4-standard/CodeIgniter4 system/Helpers/array_helper.php

Thank you. I ran the command you said.

Looking good! Still need some tests though. Check out tests/system/Helpers/ArrayHelperTest.php - it should be fairly easy to paste some of the existing tests and modify them for some simple cases for your new function.

Looking good! Still need some tests though. Check out tests/system/Helpers/ArrayHelperTest.php - it should be fairly easy to paste some of the existing tests and modify them for some simple cases for your new function.

Hello, of course, I added the test functions.

Thanks for the tests! I might refactor them to use a provider to make it a little cleaner, but I think this is functionally very sound.

Thanks for the tests! I might refactor them to use a provider to make it a little cleaner, but I think this is functionally very sound.

Of course, how you see fit.

@savasdersimcelik I'm sorry, I messed up the upstream push and it locked my access to your branch. I will open a new PR with your changes but you should probably rebase your develop before you work on it any more.


@shivang-16 updated userLoginFormanMentorLoginForm

Related issue: Remove extra bottom space in Mentors and User Form page #123
I have removed the extra space from user login page and also added media query for user login page and mentor login page and now both are working fine in all type of devices.
You can review all the changes and if there is any issue then kindly contact me.
Thankyou

Please could you tell what you have changed? through UI. and according to the issue. You should fix the session UI.

if you can fix it! and some UI improvment. I will mark this PR as level 2

Ok I will fix it by tomorrow 🙂

@shivang-16 there is UI problem I guess. Can you create new UI card. So this type of problem do not arise and it also looks great.

@shivang-16 there is UI problem I guess. Can you create new UI card. So this type of problem do not arise and it also looks great.

Ok I'll see it

now you can see.. its looking fine..i have fixed it

Great! But when you see mobile mode:

if you facing an issue in responsiveness.. you can Suggest a new UI card design. and can use it

I tried to new UI card design but unable to fix the issue of reponsiveness....
If we change the seesion description of Resume Review and make it little longer as 1 on 1 mentorship  ..then problem will we solved ..but I'm not able to find the session description

now you can see i have updated the UI

It's good! But where is the session description? and one more thing please look:
https://github.com/anmode/grabtern-frontend/assets/88332977@muhammadjufry a4f6554-56b6-4ecc-a0eb-07e12459ff4f
@muhammadjufry any suggestions? please

now i think everthing is fine. I have reduce the size of the card paragraph because without reducing size I am unable to fix responsiveness....I think it looking fine .there is no problem now ..I have also fix the problem which was arises when clicking on Book Button


Weird grid behavior depending on gridOptions.data parameter

Hi,
I was having a weird problem occuring on the data array filtering (We're using complex structure if it can help).
I was binding the gridOptions.data this way:
$scope.gridOptions.data = $scope.myComplexObject.dataArray
the weird behavior happened when the dataArray has changed due to a DB search, and the grid weren't updating the displayed rows. I had to bind the gridOptions.data again to make changes effective and be displayed in the grid.
A collegue advised to bind gridOptions.data to 'myComplexObject.dataArray' and he was right.
Binding the data to the string that references the array of objects made the grid refresh automatically upon changes like filters and record addition and deletion.
Also, the API (http://ui-grid.info/docs/#/api/ui.grid.class:GridOptions) clearly says:
"Array of data to be rendered into the grid", so I automatically passed the object and not the name of the array.
I just wanted to report this to understand if it is supposed to be like this or just a bug. Thank you!

Yeah, I generally see a number of issues arise when people pass the array itself, rather than the string of the array name.
The key problem I usually see is people changing where the array points, and being surprised when the grid doesn't update.  That's a javascript usage problem rather than a grid problem, but changing how we recommend people interact would avoid it.  The core of the problem is:
  $scope.A = [ 'value1', 'value2' ];
  $scope.B = $scope.A;
  $scope.A = [ 'change1', change2' ];

$scope.B is still ['value1', 'value2'], it doesn't point to $scope.A, it points to the same thing that $scope.A used to point to, and changing where $scope.A points doesn't impact $scope.B.
Conversely, if you do:
  $scope.A = [ 'value1', 'value2' ];
  $scope.B = $scope.A;
  $scope.A.length = 0;
  $scope.A.push( 'change1', );
  $scope.A.push( 'change2' );

then $scopeB is also impacted - because we manipulated the existing array, rather than changing where $scope.A pointed.
I see a lot of people making this mistake, which is really a basic pointer thing, not a grid thing.  Changing how we recommend people interact would mitigate most of it, so I'll look to do a doco update.


feat: add toml_file table

This PR adds a new table: toml_file.

Results
+---------------------------------------------------------------------------+
| file_content                                                              |
+---------------------------------------------------------------------------+
| {                                                                         |
|     "tool": {                                                             |
|         "poetry": {                                                       |
|             "name": "puzzle-generator",                                   |
|             "group": {                                                    |
|                 "dev": {                                                  |
|                     "optional": true,                                     |
|                     "dependencies": {                                     |
|                         "mypy": "1.11.2",                                 |
|                         "ruff": "0.6.9",                                  |
|                         "bandit": "1.7.10",                               |
|                         "flake8": "7.1.1",                                |
|                         "pylint": "3.3.1",                                |
|                         "pytest": "8.3.3",                                |
|                         "coverage": "7.6.1",                              |
|                         "flake8-bugbear": "24.8.19",                      |
|                         "flake8-pytest-style": "2.0.0"                    |
|                     }                                                     |
|                 }                                                         |
|             },                                                            |
|             "readme": "./puzzle_generator/README.md",                     |
|             "authors": [                                                  |
|                 "piotr.idzik<EMAIL_ADDRESS>           |
|             ],                                                            |
|             "license": "MIT",                                             |
|             "version": "0.12.4",                                          |
|             "keywords": [                                                 |
|                 "puzzle-generation",                                      |
|                 "quiz-generation",                                        |
|                 "code-generation"                                         |
|             ],                                                            |
|             "packages": [                                                 |
|                 {                                                         |
|                     "include": "puzzle_generator"                         |
|                 }                                                         |
|             ],                                                            |
|             "repository": "https://github.com/vil02/puzzle_generator",    |
|             "description": "Generates python code representing a puzzle", |
|             "dependencies": {                                             |
|                 "black": "24.8.0",                                        |
|                 "python": ">=3.10,<4.0.0"                                 |
|             }                                                             |
|         }                                                                 |
|     },                                                                    |
|     "build-system": {                                                     |
|         "requires": [                                                     |
|             "poetry-core"                                                 |
|         ],                                                                |
|         "build-backend": "poetry.core.masonry.api"                        |
|     }                                                                     |
| }                                                                         |
+---------------------------------------------------------------------------+

query:
select jsonb_pretty(content) as file_content from toml_file where path='pyproject.toml'

(cf. pyproject.toml).

Hello @vil02, thank you so much for your contribution 🎉.
The overall changes look great to me. Could you please include an example of the query result in the PR description?

@ParthaI: I updated the PR description. I though that the example is redundant, since there are some in the documentation.

@ParthaI: please let me know if there is still something, which has to be done here.

Apologies for the delay, @vil02... @misraved, could you please review this PR and proceed if everything looks good to you? Thanks!


Error when use conVIRT usage sample code

Great work! I tried to use the conVIRT usage sample code you provided, but errors were reported when the image was read and the model processing the image. It seems that there are some errors in the ImageDataset.py file. Would like to ask for your help to check the code again, thank you!

Hello,
Thanks for using this software.
I just tried this code snippet:
from vilmedic import AutoModel
model, processor = AutoModel.from_pretrained("selfsup/convirt-mimic")
batch = processor.inference(seq=["no acute cardiopulmonary process"],
                            image=["files/p10/p10000032/s50414267/02aa804e-bde0afdd-112c0b34-7bc16630-4e384014.jpg"])

out = model(**batch)
print(out.keys())
# dict_keys(['loss', 'loss_l', 'loss_v', 'linguistic', 'visual'])

and everything seems fine.
A few things you could try to make sure everything is good on your side:

make sure files/p10/p10000032/s50414267/02aa804e-bde0afdd-112c0b34-7bc16630-4e384014.jpg exists, obviously. Feel free to change the path to a chest xray on your computer
are you using pip ? if so, I just pushed v1.2.9, make sure you have the last version: pip install vilmedic==1.2.9
did you used python setup.py develop? If so, I just pushed the last version of the code to the main branch, please redo:

git pull
python setup.py develop

If this still doesnt work, please paste the error here.
JB

Hello,
Thanks for using this software.
I just tried this code snippet:
from vilmedic import AutoModel
model, processor = AutoModel.from_pretrained("selfsup/convirt-mimic")
batch = processor.inference(seq=["no acute cardiopulmonary process"],
                            image=["files/p10/p10000032/s50414267/02aa804e-bde0afdd-112c0b34-7bc16630-4e384014.jpg"])

out = model(**batch)
print(out.keys())
# dict_keys(['loss', 'loss_l', 'loss_v', 'linguistic', 'visual'])

and everything seems fine.
A few things you could try to make sure everything is good on your side:

make sure files/p10/p10000032/s50414267/02aa804e-bde0afdd-112c0b34-7bc16630-4e384014.jpg exists, obviously. Feel free to change the path to a chest xray on your computer
are you using pip ? if so, I just pushed v1.2.9, make sure you have the last version: pip install vilmedic==1.2.9
did you used python setup.py develop? If so, I just pushed the last version of the code to the main branch, please redo:

git pull
python setup.py develop

If this still doesnt work, please paste the error here.
JB

Hi, I updated vilmedic as you said, the code works fine now, thank you very much!
In addition, I have some questions about the seq and image parameters of the inference function in convirt usage sample code, I hope you can help answer, thank you!
The seq parameter of the inference function is a one-dimensional list, and each text in it can correspond to one image or multiple images (that is, an image list). In other words, the image parameter of the inference is essentially a two-dimensional list. Right?

Hello,
If you want to compare two seq with their corresponding image, please do
batch = processor.inference(seq=["one","two"], image=["1.jpg","2.jpg"])

If you want to compare one sequence with two different image, you will need to repeat the sequence:
batch = processor.inference(seq=["one","one"], image=["1.jpg","2.jpg"])


sqlite: context manager for DB creation?

Think about when to set the database schema. create() similar to remote()? Or just whenever a method is called? Or legalize the current decision to misuse context managers?

I chose the create() option for now.


SOAP request fails

For the following XML document(SOAP service), XPath can't find the elements.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <ServiceResponse xmlns="http://sub.domain.com">
            <ServiceReturn>
                US

                        <e>Herrod</e>
<EMAIL_ADDRESS>                        <g>Et Commodo LLC</g>
                        07/14/2014

                        <e>Armand</e>
<EMAIL_ADDRESS>                        <g>Vel Convallis In Consulting</g>
                        04/18/2015

                        <e>Bernard</e>
<EMAIL_ADDRESS>                        <g>Cursus Nunc Mauris PC</g>
                        11/12/2015

                        <e>Dante</e>
<EMAIL_ADDRESS>                        <g>Sit Amet Ltd</g>
                        01/19/2016

                <c>0</c>
                <k>12345678</k>
            </ServiceReturn>
        </ServiceResponse>
    </soapenv:Body>
</soapenv:Envelope>

Here are the result of some functions
document.rootElement.firstChildWithTag("Body", inNamespace: "soapenv") //some
document.rootElement.firstChildWithTag("//soapenv:Body/ServiceResponse") //nil
document.rootElement.firstChildWithTag("//Body//b", inNamespace: "soapenv") //nil
document.firstChildWithXPath("//ServiceResponse") //nil
document.firstChildWithXPath("//ServiceReturn") //nil
document.firstChildWithXPath("//*/ServiceReturn/b/b") //nil
document.firstChildWithXPath("//ServiceReturn/b/b") //nil
document.firstChildWithXPath("//b/b") //nil

Another example
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:OperationHistoryData xmlns:ns2="http://www.domain.org/operation" xmlns:ns3="http://www.domain.org/info" xmlns:ns5="http://www.domain.org/data">
         <ns2:historyRecord>
            <ns2:DestinationAddress>
               <ns2:Index>190000</ns2:Index>
               <ns2:Description>Info 1</ns2:Description>
            </ns2:DestinationAddress>
         </ns2:historyRecord>
      </ns2:OperationHistoryData>
   </S:Body>
</S:Envelope>

Whenever there is nested namespaces, ono can't parse it. I don't know maybe it is limitation of libxml. Only workaround I found is to strip name spaces and other attributes.

I have the same problem and have to go down the elements until I get to the element I want:
ONOXMLElement *dataElement = [[[[[[[[[document.rootElement.children firstObject] children] firstObject] children] firstObject] children] firstObject] children] firstObject];

Here are some details about the problem:
"The ‘gotcha’ moment with our response message is that the namespace “xmlns=http://ws.cdyne.com/WeatherWS/” does not have a prefix for the declaration. By not defining a prefix, it is defaulting to the default namespace or null namespace and we cannot use XPath expressions to reference the null namespace."
http://blog.inin.com/a-quick-primer-on-soap-xml-and-xpath/

HI @mattt ,
What is the status of this issue? It seems like I'm experiencing it too.
Regards,
Chalk

Apologies for not responding sooner, everyone. I'm not very familiar with SOAP, but I'd like to make any necessary fixes for this in code and/or documentation. I'll add the example you provided, @tosbaha, as a failing test case in a branch and work to figure out a solution.

"The ‘gotcha’ moment with our response message is that the namespace “xmlns=http://ws.cdyne.com/WeatherWS/” does not have a prefix for the declaration. By not defining a prefix, it is defaulting to the default namespace or null namespace and we cannot use XPath expressions to reference the null namespace."

In the meantime, have you tried calling the definePrefix:forDefaultNamespace as a workaround?

Sorry but this issue was so old. I don't work on this anymore. I think I made it work by stripping the name spaces. Since I don't have the old code anymore, I can't comment whether your workaround works or not. Cheers.

I've tested this by calling definePrefix:forDefaultNamespace, however, XPath queries still returns nil


feat(reminder-scheduler): adds reminder-scheduler component

hey @hari apologies for my previous PR i mistakenly created branch from my old branch.
please review.
thank-you

@prince981620 Could you merge the latest main on your branch?

@prince981620 Could you merge the latest main on your branch?

merged and pushed again please review.

hey @sudhashrestha i have already completed #296 and this also got merged: apologies for not mentioning it up there


[joy-ui] JoyToggleButtonGroup key not included in components type

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Start a typescript project and try to add styleOverrides to JoyToggleButtonGroup.
Current behavior 😯
Typescript throws an error.
Expected behavior 🤔
JoyToggleButtonGroup should get exported here:
https://github.com/mui/material-ui/blob/master/packages/mui-joy/src/styles/components.d.ts
Context 🔦
Not sure if this was missed, or if there is a reason it's not being exported.
Your environment 🌎
No response

To anyone wishes to open a PR for this issue, adding below code
JoyToggleButtonGroup?: {
   defaultProps?: Partial<SnackbarProps>;
   styleOverrides?: StyleOverrides<SnackbarSlot, SnackbarOwnerState, Theme>;
 };

just above this line should be good
https://github.com/mui/material-ui/blob/14391d3acc07902d17ff7b6a84e4c29505b9927c/packages/mui-joy/src/styles/components.d.ts#L503


Support building Rust addons for Electron

Thank you for building Neon! I've already got a small Rust-based addon in production at work, and it was dead simple to get up and running.
For my own amusement, I've been working on getting Neon to work an Electron app. This is trickier, both because of node-gyp issues, and because Neon always assumes it's building packages for the system code of Node.js. Here's how I worked around this.
This is for a top-level Electron app project with a native subdirectory directly in the main package, and not under node_modules.
1. Set up environment variables for node-gyp
Save the following file as .env.sh in the top level of the project:
# Source this with `. env.sh` before running `yarn` or `native/build.sh`.
# This sets up the configuration required by `node-gyp` and `neon` to build
# native modules that will successfully link against Electron instead of
# the system copy of NodeJS.

export NEON_NODE_ABI=50
export npm_config_target=1.4.12
export npm_config_arch=x64
export npm_config_target_arch=x64
export npm_config_disturl=https://atom.io/download/electron
export npm_config_runtime=electron
export npm_config_build_from_source=true

2. Run the Rust build manually with a fake $HOME
#!/bin/bash
#
# This script can be invoked from the root directory as `native/build.sh`.
# It will make sure we have the right Node.js headers to build a module for
# Electron and run the actual build manually.
#
# If this is giving weird resutls, try:
#
#     rm -rf node_modules native/target
#
# ...and try again.

set -euo pipefail

# Create a fake home directory under ~/.electron-gyp to cache things
# related to Electron builds.  We need to make symlinks to various Rust
# config directories if we want this to work.
mkdir -p ~/.electron-gyp
if [ ! -h ~/.electron-gyp/.cargo ]; then
    ln -s ~/.cargo ~/.electron-gyp/
fi
if [ ! -h ~/.electron-gyp/.multirust ]; then
    ln -s ~/.multirust ~/.electron-gyp/
fi

# Switch to the fake home directory.
HOME=~/.electron-gyp

# Make sure that our Electron Node headers are installed.
if [ ! -d ~/.node-gyp/iojs-$npm_config_target ]; then
    node_modules/.bin/node-gyp install
fi

# Run the actual build, and copy it to where node will find it.  Ideally
# we'd just call `neon build`, but that requires neon-bindings/neon#109 and
# neon-bindings/neon-cli#31 to have any chance of working.
case `uname -s` in
    Darwin)
        cd native
        cargo rustc --release -- -C link-args=-Wl,-undefined,dynamic_lookup
        cp target/release/libtestnative.dylib index.node
        ;;
    Linux)
        cd native
        cargo build --release
        cp target/release/libtestnative.so index.node
        ;;
    *)
        echo "Don't know how to build native extensions on this platform" 2>&1
        exit 1
esac

What would it take to support this reasonably in standard Neon?
The most important fixes would be something like:

https://github.com/neon-bindings/neon-cli/issues/28
https://github.com/neon-bindings/neon-cli/pull/31
https://github.com/neon-bindings/neon/pull/109

This would allow me to replace the ugly case statement with a normal neon build call, which would be a clear improvement.
I'm less sure that Neon should touch any of the node-gyp stuff. Some of this is handled by electron-rebuild for regular Node addons, and there might be some way to tie into that system. Or not.
Anyway, because everybody loves screenshots:

That shows the Neon-based addon being loaded into both the main and renderer process of Electron. It works! The full application is here.

node-gyp's devdir option allows you to point to a specific location to search for node headers. This avoids the shenanigans with the fake-$HOME. Not sure how well it plays with the rest of the npm ecosystem though - it potentially breaks other things.

@EdShaw Could you point me at an example or web page with more information on devdir? Google is not cooperating at the moment. I found this diff but I haven't found the docs yet.
It looks like node-gyp takes a command-line flag, or one of XDG_CACHE_HOME, HOME or USERPROFILE. There's also some hint that maybe this can be passed through npm. So maybe export npm_config_devdir=~/.electron-gyp might do something?
Electron + Neon + Rust + a modern JS stack is a nice dev environment. I'd love to see this be easier to set up.

Your links are what I referenced. It's a fairly recent addition (3 months); it looks like the changes haven't made it into a release yet. :( Make me wonder how I got it working...
I've just updated the bundled node-gyp with my npm:
npm explore npm -g -- npm install git+https://github.com/nodejs/node-gyp.git#master
Going to see if it works...
I see in your script that you call node-gyp directly, I suspect only --devdir will work in that case (since I don't think it picks up npm env options?).

Just a heads-up that we're making progress on this: you can see a simple demo at:
https://github.com/dherman/neon-electron-hello
It doesn't yet integrate with electron-rebuild but I've spoken with @paulcbetts, @MarshallOfSound, and @felixrieseberg, and we should be able to make that happen too. Until then, the demo uses a different command for building Neon dependencies than other native dependencies.
My next steps are to test on Windows and make sure that's working, and then also to make the tools smarter about rebuilding if someone has accidentally already built a dependency with the wrong ABI.

https://github.com/dherman/neon-electron-hello not working
I tried both electron-build-env and NEON_NODE_ABI=50
both my own project and the neon-electron-hello got the same error: (electron 1.4.16, ABI version is 50)

Module version mismatch.
Expected 50, got 48.

It seem that neon is not following the ABI version provide but using the ABI version of node(6.10.2, ABI version 48) that runs it?

Still would be good to integrate with electron-rebuild but for now I think we can call this working, and it's documented in the guides:
http://guides.neon-bindings.com/electron-apps/


replace zdx.MemTable usage with key sorter than can spill to disk

zdx.MemTable is used to build the sorted list of keys that are the bulk of the zdx bundle. It keeps all keys in memory (as the name implies). We should replace it with some alternative structure or method that can spill & sort to disk. A good solution would likely utilize re-use the work to make sort spill to disk in https://github.com/brimsec/zq/pull/527 .

I started looking into and the direct route via reusing sort seems straightforward, but it given index builder is basically building a big group-by table, it would be even better if we could just use that instead, given that we've talked about making group-by capable of spilling to disk too.
Of course that's more work so if the feature itself is time-sensitive, then we should go ahead with the approach described here using sort.

I think we should approach this one more holistically.  If you look through the zar README, the key steps are here:
zar zq -o keys.zng "_path=conn | sum(resp_bytes) as resp_bytes by id.resp_h,id.orig_h | sort id.resp_h,id.orig_h" _
zar zdx -o custom2 -k id.resp_h,id.orig_h keys.zng

It would be nice to just re-use this zql machinery in the zar index path and get rid of zdx.MemTable completely.  If the zql group-by could spill, then we don't need to re-create zdx.Memtable spillling.  The "zar zdx" pass could take input from a scanner/combiner on the spilled files.

I created a separate issue for the "re-use zql machinery" work that @mccanne describes in the comment above. That leaves the work of converting groupby to be spill-able - @alfred-landrum we can repurpose this issue for that, or close it and open a new one.

Let's close this one and have a new issue just for the spillable groupby,
and make brimsec/zq#798 depend on the new issue.
On Tue, May 19, 2020 at 8:01 AM Henri DF<EMAIL_ADDRESS>wrote:

I created a separate issue for the "re-use zql machinery" work that
@mccanne https://github.com/mccanne describes in the comment above.
That leaves the work of converting groupby to be spill-able -
@alfred-landrum https://github.com/alfred-landrum we can repurpose this
issue for that, or close it and open a new one.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/brimsec/zq/issues/646#issuecomment-630878765, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFMDMJCUJJDTXPRCB5URE3RSKNLBANCNFSM4MPEUD2A
.

Ok. (But #798 doesn't need to depend on the new issue.)

Superseded by #800 and #798


How to make AutoMoq to respect MaxLengthAttribute (from System.ComponentModel.DataAnnotations)?

I'm using AutoFixture with AutoMoq to generate and configure a Mock to an interface. This interface uses the MaxLength attribute to specify the maximum length each property.
How can I make the generated mock respect the MaxLength attribute?
Please, consider that I have load of properties using this attribute? (not only one, like in this example).
The code to create the mock is this:
var fixture = new Fixture();
fixture.Customize(new AutoMoqCustomization() { ConfigureMembers = true });
var my = fixture.Create<IMyClass>();

where MyClass is:
public interface IMyClass()
{
    [MaxLength(40)]
    public string Name { get; set; }
    ...
    ... more properties using the MaxLenght attribute
    ...
}

I have tried making a Custom Specimen builder like this:
public class MaxLenghtSpecimenBuilder : ISpecimenBuilder
{
    public object Create(object request, ISpecimenContext context)
    {
        var pi = request as PropertyInfo;

        if (pi == null || pi.PropertyType != typeof(string))
        {
            return new NoSpecimen();
        }

        var maxLengthAttribute = (MaxLengthAttribute)Attribute.GetCustomAttribute(pi, typeof(DescriptionAttribute));

        if (maxLengthAttribute != null)
        {
            return new ConstrainedStringGenerator().Create(new ConstrainedStringRequest(maxLengthAttribute.Length), context);
        }

        return new NoSpecimen();
    }
}

in order to add it to the fixture with calling fixture.Customizations.Add(new MaxLenghtSpecimenBuilder());
But it doesn't work. It doesn't get the custom attribute. It always returns null.
(Original post: https://stackoverflow.com/questions/49794154/automoq-to-respect-maxlengthattribute)

Thanks for raising the issue!
The Min and Max attributes are not yet supported, see #678. The potential way to implement it might be checked in PR #711 that was closed.
After you add the customization like that, it should work. If it doesn't - please share your implementation.
P.S. PR to implement the #678 is welcome 😅

Closing due to inactivity and it seems no actions are required.
Please re-open the issue if you believe you still have unanswered questions.
Thanks 😉


Scala 2.12 support

Would be great to have.

A 2.12 build of Nyaya should be out today.

Nyaya 0.8.1 is on its way to Maven Central. Please use this version for Scala 2.12.0 support.

1.2.5 released!


Update 2020 version with Azure Function and Blob MSI

Related command
az stream-analytics
Is your feature request related to a problem? Please describe.
We updated our swagger specs recently to fix some s360 bugs, and we would like our CLI to reflect those bug fixes: https://github.com/Azure/azure-rest-api-specs/pull/17697
Describe the solution you'd like
Update Stream Analytics CLI to include these new features (Azure Function and Blob MSI)
Describe alternatives you've considered
N/A
Additional context
Swagger: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01
Documentation: https://docs.microsoft.com/en-us/azure/stream-analytics/

stream-analytics


Allow getExtensionSettings() to accept event as parameter

Expected Behaviour
Passing the rule's synthetic event as parameter to turbine.getExtensionSettings() function must be possible as this function replaces token with actual values and would need the event parameter, if the extension configuration uses %event% as token (or calls a data element which in-turn uses %event%)
Actual Behaviour
Currently this function doesn't accept any parameters
Reproduce Scenario (including but not limited to)
While calling turbine.getExtensionSettings() from any custom action/condition exposed from an extension, the tokens set in the extension configuration which are dependent on %event% are always evaluated to undefined
Steps to Reproduce

Create an extension which-

accepts user input in extension configuration which gets saved in extensionSettings
has an action which calls turbine.getExtensionSettings() from inside action's code

Install this extension in any Launch property

In the extension configuration use %event...% as input. Alternatively, call a data element dependent on %event...%

Create a new rule with the corresponding action to be triggered

Check the results on webpage - The tokens are always resolved to undefined, as while calling turbine.getExtensionSettings() from inside the action's module code, currently there is no way to pass the reference of event parameter

Platform and Version
Sample Code that illustrates the problem
Logs taken while reproducing problem

We think we understand what you are trying to do. Can you elaborate on why you are trying to do this?

Okay, I will try to explain the specific use case that I have, however, please note that the issue raised is more generic and not limited to this use case.
Specific Use Case - My use case deals with Adobe Analytics tagging in particular. I've created a private extension which allows the user to segregate the eVar/props basis variable groups, inside the extension configuration. So, let's suppose the user creates the following groups and maps them as shown below-

User Variables
eVar1 = %userIDHashed%
eVar2= %userType%
...
Page Variables
eVar11 = %pageType%
eVar12 = %pageCategory%
...
Link Variables
eVar31 = %linkName%
eVar32 = %event.detail.name%

Once the extension configuration is saved, these are returned into the settings object. Then, in the rules, users can add an action from this extension, selecting (by clicking checkboxes) which variable groups should be mapped when this rule triggers e.g. Rule1 might need 'user' and 'page variables' and Rule2 might need 'user' and 'link' variables. The action's settings object will only contain the group IDs which need to be fired and will NOT copy the mapping done within the extension config.
Note that the data elements used inside the extension configuration mapping, can in-turn rely on the data layer state. Hence, in order to always capture the correct dynamic values in the corresponding eVars, it is important that the action module of extension calls turbine.getExtensionSettings() each time it is triggered, thereby replacingTokens with the most updated values.
In this way, this extension tries to circumvents around the issue mentioned in the story from Jennifer Kunz and also raised in GitHub issue #125 (when taking Adobe Analytics as example), while providing additional features.
Issue within reactor - When turbine.getExtensionSettings() call made from inside the action module tries to replaceTokens, it doesn't contain the event in its closure. Hence, in the above example eVar32 will always be replaced by undefined. Also, in case any data element relies on the event, it's value will also be undefined.
Solution - the turbine.getExtensionSettings() call should accept an optional parameter of syntheticEvent as demonstrated in the pull request #158
Without even considering the above mentioned use case, the getExtensionSettings() method is attached to the turbine free variables, hence it can potentially be called from the module code of action/condition/event/dataElement. Therefore, it must also support passing the syntheticEvent as context.