For these two reasons, Atom loads packages eagerly, at an early point in startup, even though it activates the packages lazily. This allows packages to affect the app even if they are disabled, and reduces our ability to optimize startup time.
The Proposed Change
This PR will add 3 new optional fields to packages' package.json files:

atom-config - the path to a JSON or CSON file defining the package's config schema
atom-view-providers - an object whose keys are constructor names of model objects, and whose values are paths to files that export view-building functions
atom-deserializers - an object whose keys are deserializer names, and whose values are paths to files that export deserialization functions

It will also add a deprecation warning when packages access the atom global at load time.
After the deprecation period is over, packages' main modules will no longer longer need to be loaded at startup unless they are eagerly activated (no activation commands specified). Only their config schemas will need to be loaded, if present. Deserializers and view providers can be loaded lazily, when deserialize and getView are first called with the corresponding names.
/cc @nathansobo

Great. We've needed this for a very long time. Some thoughts on the key names.

Seems like they should be camelCased rather than dash-separated to blend in with other keys in package.json.
We haven't prefixed several keys with the word "atom" thus far. Maybe we should have, but these are Atom packages after all and starting now seems to introduce inconsistencies.

Some thoughts on the key names

D'oh; of course. Updated.
@nathansobo How do you think the view providers should work? I was thinking we could have a simple array of view providers functions that will always be called, but should return null unless they apply to a given model.


Cannot enter external coefficient value under 0.1 in configuration UI with the keyboard

Home Assistant version : Core = 2023.12.3, Frontend = 20231208.2
Versatile Thermostat version : 5.2.2
Using the UI on macOS with Chrome (latest versions)
The issue happens when configuring a "switch mode" thermostat, when typing a value starting with 0.0 (such as 0.03 for example). Behavior is difficult to describe exactly, but it seems that when the second character is '.' and the third is '0', the next digit input resets the field content.
To enter 0.03, I have to paste the value copied from a text editor, or I have to enter 1.13 and then replace the '1's with '0's.

This is a bug in the UI which is not controlled by the integration, you should type number without the . and go back and type the dot after as a workaround.

😮


[DC-1602] Incorrect Name for DEID_MAP_TABLE in run_deid.py

Changed DEID_MAP_TABLE name to primary_pid_rid_mapping

This looks good to me and the unit test is passing locally!
My only question, and this might be a topic for eng sync and we can address at a later time, but should these variables be defined in common rather than string literals?

I agree with you that they should be. However we're planning to do a refactor of deid sometime in the future which will take this into account.

Sounds good! This is approved!


Cache issues with embedding K8 onto Leap Advantage graph

Description
find_clique_embedding does not successfully return for the graph of Advantage_system1.1 with use_cache=True
This behavior affects dwave.system.samplers.DWaveCliqueSampler
To Reproduce
Minimum example (for K8) assuming configuration for Advantage_system1.1
from dimod import BinaryQuadraticModel
from minorminer.busclique import find_clique_embedding

import dwave_networkx as dnx
from dwave.system.samplers import DWaveSampler

n = 8

h = {}
J = {}
for i in range(n):
    h[i] = 0.0
    for j in range(i+1,n):
        J[(i,j)] = - 0.5

print(J)

bqm = BinaryQuadraticModel.from_ising(h, j)

def clique_embedding(bqm: BinaryQuadraticModel):
    qpu_sampler = DWaveSampler()
    shape = qpu_sampler.properties['topology']['shape']
    G = dnx.pegasus_graph(shape[0], node_list=qpu_sampler.nodelist, edge_list=qpu_sampler.edgelist)
    embedding = find_clique_embedding(bqm.variables, G, use_cache=True)
    print(embedding)
    return embedding

clique_embedding(bqm)

Expected behavior
find_clique_embedding may not return, or may terminate with an EOFError such as
  File "minorminer/busclique.pyx", line 93, in minorminer.busclique.find_clique_embedding
  File "minorminer/busclique.pyx", line 286, in minorminer.busclique.busgraph_cache.find_clique_embedding
  File "minorminer/busclique.pyx", line 130, in minorminer.busclique.busgraph_cache._ensure_clique_cache
  File "minorminer/busclique.pyx", line 210, in minorminer.busclique.busgraph_cache._fetch_cache
  File "minorminer/busclique.pyx", line 212, in minorminer.busclique.busgraph_cache._fetch_cache
  File "minorminer/busclique.pyx", line 215, in minorminer.busclique.busgraph_cache._fetch_cache
  File "minorminer/busclique.pyx", line 216, in minorminer.busclique.busgraph_cache._fetch_cache
EOFError: Ran out of input

Workaround
Use the above clique_embedding function or similar using use_cache=False instead of DWaveCliqueSampler. This prints a correct embedding that can be used directly with FixedEmbeddingComposite
{(0, 1): -0.5, (0, 2): -0.5, (0, 3): -0.5, (0, 4): -0.5, (0, 5): -0.5, (0, 6): -0.5, (0, 7): -0.5, (1, 2): -0.5, (1, 3): -0.5, (1, 4): -0.5, (1, 5): -0.5, (1, 6): -0.5, (1, 7): -0.5, (2, 3): -0.5, (2, 4): -0.5, (2, 5): -0.5, (2, 6): -0.5, (2, 7): -0.5, (3, 4): -0.5, (3, 5): -0.5, (3, 6): -0.5, (3, 7): -0.5, (4, 5): -0.5, (4, 6): -0.5, (4, 7): -0.5, (5, 6): -0.5, (5, 7): -0.5, (6, 7): -0.5}
{0: [180, 2940], 1: [195, 2955], 2: [150, 2970], 3: [165, 2985], 4: [210, 3000], 5: [225, 3015], 6: [240, 3030], 7: [255, 3045]}

Environment:

OS: [macOS Catalina 10.15.6]
Python version: 3.8
minorminer: 0.2.3
dwave-system: 1.1.1

Thanks for your bug report.  It's known that find_clique_embedding can take a couple of minutes the first time that it runs.  I wonder if you stopped it at just the wrong time (e.g. if it was in the middle of writing the cache to disk).  Would you please run the following, then try your code again with use_cache=True and allow it to finish?
from minorminer.busclique import busgraph_cache
busgraph_cache.clear_all_caches()

Thanks, the embedding works now. Sorry it looks like I just overlooked the busgraph_cache class.

To the contrary, no apologies necessary!  The caching code should be more resilient, and I think I know how to prevent this in the future.  Thank you very much!


Gulp Integration by Subodha

Adding gulp integration by Subodha

Thanks! This PR was definitely worth it, but it took some time and now the files were out of sync. I will close this PR but will merge the edit manually: https://github.com/run-as-root/awesome-magento2/commit/cf3626e286dce0cf4423f166270fcb73d4018446


Could add this ggplot2 cheatsheet

https://github.com/claragranell/ggplot2/blob/main/ggplot_theme_system_cheatsheet.pdf

will be resolved by #236


Fixing behavior on delete previous comment

Now it's considering "tag" as a filter to delete comments.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

9 of 10 (90.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 63.02%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/decorate.go
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
530

Relevant Lines:
841

💛  - Coveralls


delete-solution points to publish-solution/index.js

https://github.com/microsoft/powerplatform-actions/blob/38fbb3aa1649b80bdcc571544f38c4c33b277d62/delete-solution/action.yml#L37

fixed in #151


Support authentication for log report channel.

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #6664
[x] Update the CHANGES log.

The log channel use an independent gRPC channel, and it's not decorated by authentication, I decorate it. So agent can upload log when OAP backend open authentication.
It's my first time to open a pull request. Maybe not very standard,  I will appreciate a lot for advices!

I need to to remind you, this log grpc channel is going to be removed once Satellite project is ready.

I need to to remind you, this log grpc channel is going to be removed once Satellite project is ready.

Thanks for remind

I need to to remind you, this log grpc channel is going to be removed once Satellite project is ready.

Thanks for remind, but before Satellite is ready, our company will still use the SkyWalking project.

I need to to remind you, this log grpc channel is going to be removed once Satellite project is ready.

Thanks for remind, but before Satellite is ready, our company will still use the SkyWalking project.

8.7.0 is far from release, so, even we merge this, we wouldn't guarantee this included in the next release. That is the point of my reminder.

Temporarily accept. This feature and grpc channel is going to be removed after Satellite 0.2.0 release. cc @EvanLjp @mrproliu

Do we really want "all in sidecar"? If users don't use Kubernetes etc., they have to deploy another process (satellite) with their application, just for log authentication to work in this case?

Temporarily accept. This feature and grpc channel is going to be removed after Satellite 0.2.0 release. cc @EvanLjp @mrproliu

Do we really want "all in sidecar"? If users don't use Kubernetes etc., they have to deploy another process (satellite) with their application, just for log authentication to work in this case?

That is the point. We need a consistent channel, but the current Satellite is not supporting all transport protocols, which is why @EvanLjp set up a new grpc channel for log reporter.

https://github.com/apache/skywalking/issues/7040 was marked as a duplicate of https://github.com/apache/skywalking/issues/6664 and https://github.com/apache/skywalking/issues/6664 is closed by this. I would think that means this should also fix the issue of the lack of TLS encryption mentioned in https://github.com/apache/skywalking/issues/7040 but this PR doesn't seem to do that.
Also, I'd like to mention that I find it a bit odd that the progress of the primary SkyWalking project is being slowed down by secondary projects like the sidecar. I would think that the primary project sets the pace and the secondary projects would need to keep up to stay functional. Here it seems that there is progress that could be made with SkyWalking but due to issues with a secondary project, that progress is being put on hold.
I believe you know what's best though so feel free to disregard my opinion.

@BFergerson I reopened the #7040 as TLS has not been implemented. And if you need this feature, feel free to submit a similar feature like this.
The satellite project is not moving fast, I guess due to sidecar matters for a large-scale system.


discuss name of function begin_step

We should discuss the name of the function begin_step. I don't think it fits.
Originally discussed by @xsaschako in https://github.com/DLR-SC/memilio/pull/288#discussion_r1005339051

What about compute_exposure_rates?


Function called with onload is called multiple times

I am faced with a problem where the function I call with on_load in my page is being called a lot of times. This function is to help me fetch data from my back-end API. Many API requests are being made as shown in this example.
To Reproduce

Expected behavior
Running reflex run works normally but when the application is run, I get a lot of GET requests being made to the API.
.
Specifics (please complete the following information):

Python Version: 3.10.1
Reflex Version: 0.3.10
OS: Ubuntu Linux
Browser (Optional): Firefox
.

Is it possible to post a minimal example that reproduces this?

Turns out one function I was calling in the on_load function was the source of the problem


Wrong output for "jsc.transform.constModules" configuration with object const

Describe the bug
After update from v1.3.37 to v1.3.38 we noticed different output for jsc.transform.constModules for modules that contain non-primitive data.
Input code
import { testMap } from "testModule";
testMap['var'];

Config
{
  "jsc": {
    "target": "es2021",
    "parser": {
      "syntax": "typescript"
    },
    "transform": {
      "constModules": {
        "globals": {
          "testModule": {
            "testMap": "{ 'var': 'value' }"
          }
        }
      }
    }
  }
}

Playground link
https://play.swc.rs/?version=1.3.38&code=H4sIAAAAAAAAA8vMLcgvKlGoVihJLS7xTSxQqFVIK8rPVVAC8%2FNTSnNSlay5oJLR6mWJReqx1gD907e3NQAAAA%3D%3D&config=H4sIAAAAAAAAAz1MOw6DMAy9CvKShYEy5g4cwg0GtUqTyDYVKMrd61Rq3%2FK%2BehWeEsBXKMhC3JVcSfEED3oVksCPotBGUMYkW%2BZX34ScRJe8HpGk%2Bz3mO8avVPo1f4fF3urg3sjOd4oHuaFBM9gx8k5qC5J5mm%2BWfgDY4jojlQAAAA%3D%3D
Expected behavior
Output has to be like in v1.3.37 and earlier:
({
    'var': 'value'
})['var'];

Actual behavior
testMap['var'];

Version
v1.3.38
Additional context
No response

As temp workaround until solution we can introduce a local variable with a reference to the imported data:
import { testMap } from "testModule";
const localTestMap = testMap;
localTestMap['var'];

Output:
const localTestMap = {
    'var': 'value'
};
localTestMap['var'];

cc @magic-akari
It seems like we made a mistake

I'm sorry for introducing a bug, please assign this issue to me.


docs (guide): change Generating Components, Directives, Pipes and Services section

Improvement of Generating Components, Directives, Pipes and Services section

Added an explanation of how to add new components, directives or pipes and have their references automatically in a new modules instead of app.module.ts

@Brocco can you review?

Is everything right with this PR now? Just wondering because as I said, I don't know very well as review things works.
Regards

@elmeerr sorry it's taking so long to get this PR in, these last few weeks have been frantic. @Brocco can you have a look again?

@elmeerr Can you please and consolidate this PR into a single commit?

@Brocco Hi, how do I do this? I think this is a silly question but as I said, I'm not used to create PR and don't know how things works.

@elmeerr I think at the moment it would be better to re-do the PR. The file you were trying to change changed a lot and those changes now should be part of the wiki instead.

I'm closing this because I create a new PR with the most recent version.


Hide Outline view in explorer panel

I would like to hide/remove the "Outline view in explorer panel" feature.
Is there any settings for this?

Currently you can right click on the view and select "hide"

Thank you, but my problem is that when I open VS Code it appears then I have to fold / hide it.

@cprogrammer1994 You can go to extension folder.  ~.vscode\extensions\yzhang.markdown-all-in-one-0.10.3\package.json.
Search element "Views" and remove it from the JSON file.

Thank you!
I close this issue.
I realized it should be vscode feature to save "Hidden" state of any of the panels.

right click on outline then select hide option.

Currently you can right click on the view title "OUTLINE" and select "hide".
Sometime it can be so easy. Thank you 👍

how do I unhide it?

right click on outline then select hide option.

how do i unhide it?

yeah see how folder is hided (in gray) I can't unhide it I tired right clicking but it won't give me the option to unhide folders.

You want to hide/unhide "Folders"? I don't think you can do that. (It is always present.)

you did it with outline. But can you try it with your Folders (See how the Folders is in gray I can't make it ungray and unhide it)

You want to hide/unhide "Folders"? I don't think you can do that. (It is always present.)

You want to hide/unhide "Folders"? I don't think you can do that. (It is always present.)

(BTW, this extension provided an outline view a long time ago, which has been removed as VSCode implemented it. If you have more questions about hiding/unhiding views, probably you need to ask VSCode directly.)

thanks :D


Integrate release-plz to automate release & crate publish

Following https://github.com/bytedance/monoio/issues/223 this is the corresponding workflow needed to integrate it.
For the tokens creation and set up of the whole things, you'll need to refer to this: https://release-plz.ieni.dev/docs/github/token

Hi, @Miaxos thank you a lot for raising this PR first. However, I personally feel that we don't need this action right now given our current low frequency of releases.
How about let's close this PR and rethink about it in the future?


[only for test] test open ubsan in p0,p1 with error

Proposed changes
now has error

run buildall

run p0

run p0

run buildall


Can't input data?

Selected train.csv from temp folder to try system.  System doesn't respond to the add button (does respond to the file selection, just not add).

can you provide the browser details?

@rstarmer  Thanks for reporting issues. We will check the code and behavior soon. If you provides some details to reproduce the same errors, it will help us. and also if you have some opinions to improve  current UI behaviors, it's greatly appreciated. thank you!

It looks like you haven't created workspace before adding the input source. Validation is missing from UI. Each user can multiple workspace(or experiments) at the same time. So , can you try creating a workspace first and then try again?  I will add it in the README

Certainly it was a lack of workspace that caused my issue.  Perhaps a UI
warning if one doesn't exist?
Thanks!
Robert
Robert
On Wed, May 13, 2015 at 11:15 PM, Johnu George<EMAIL_ADDRESS>wrote:

It looks like you haven't created workspace before adding the input
source. Validation is missing from UI. Each user can multiple workspace(or
experiments) at the same time. So , can you try creating a workspace first
and then try again? I will add it in the README
—
Reply to this email directly or view it on GitHub
https://github.com/CiscoSystems/cognitive/issues/22#issuecomment-101932191
.

@rstarmer thank you for informing us. We will fix with this issue to make default workspace when user logged in. Thanks again!:)

Sounds good
Robert
On Thu, May 14, 2015 at 1:47 AM, Komei Shimamura<EMAIL_ADDRESS>wrote:

@rstarmer https://github.com/rstarmer thank you for informing us. We
will fix with this issue to make default workspace when user logged in.
Thanks again!:)
—
Reply to this email directly or view it on GitHub
https://github.com/CiscoSystems/cognitive/issues/22#issuecomment-101974595
.


Update cloudwatch, sdk-core, ses, sns, sqs, ssm to 2.20.98

About this PR
📦 Updates

software.amazon.awssdk:cloudwatch
software.amazon.awssdk:sdk-core
software.amazon.awssdk:ses
software.amazon.awssdk:sns
software.amazon.awssdk:sqs
software.amazon.awssdk:ssm

from 2.20.90 to 2.20.98
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #2763.


Optimization: Make use of force/delay

Problem
Currently, Helios doesn't use delay in its compiled UPLC, and force is only used when it's a must (e.g., Plutus builtins). Zero-argument functions & methods in both Helios Lang and Helios IR are implemented as lambdas with "ignored" variables - and those lambdas are later applied with a unit constant. However, it's inefficient compared to using delay and force in terms of both size & execution units.
Zero-argument functions or delayed computations, in general, don't have a native representation in UPLC; so there's no "right" or "wrong" way to do this, we just need to use the more efficient ones, especially when we don't consider Typed PLC a compilation target.

Helios IR
UPLC (current)
UPLC (proposed)

Define
() -> { expr }
(lam _ expr)1 lam
(delay expr)1 delay

Call
f()
[f (con unit ()]1 con, 1 apply
(force f) 1 force

In the Define case, delay and lam have the same serialization size and execution units (with the current protocol parameters). But in the Call one, con unit () is already worse than a single force, let alone an extra apply.
Note: This not only applies to user-defined functions but several Helios constructs and builtins, especially ones using Plutus ifThenElse under the hood, as they're all implemented using zero-argument lambdas in Helios IR. So, such optimization would benefit almost all Helios smart contracts.
Benchmark
Two similar programs, the only difference with program 2 is the use of force & delay.
Program 1
(program
  1.0.0
  (lam
    n
    [
      [
        [
          [
            (force (builtin ifThenElse))
            [ [ (builtin lessThanInteger) n ] (con integer 0) ]
          ]
          (lam _ [ [ (builtin subtractInteger) (con integer 0) ] n ])
        ]
        (lam _ n)
      ]
      (con unit ())
    ]
  )
)

Program 2
(program
  1.0.0
  (lam
    n
    (force
      [
        [
          [
            (force (builtin ifThenElse))
            [ [ (builtin lessThanInteger) n ] (con integer 0) ]
          ]
          (delay [ [ (builtin subtractInteger) (con integer 0) ] n ])
        ]
        (delay n)
      ]
    )
  )
)

Size
ExUnits (1000)
ExUnits (-1000)

1
24 bytes
cpu: 704063memory: 1902
cpu: 1002540memory: 2304

2
23 bytes
cpu: 681063memory: 1802
cpu: 979540memory: 2204

Proposed Solution
Helios Lang
No syntax change would need to be introduced. Although 2 potential improvements can be made later

A shortcut for defining zero-argument functions / delayed computations might be a potential improvement, as () -> ReturnType { expr } is quite verbose, () { expr } might be good enough.

Revisit zero-argument methods, since with how it's implemented in Helios at the moment, an extra apply/force is always needed for a struct.method(). I understand that it's necessary for letting devs have access to self-bound functions via struct.method but maybe a computed property syntax would be good when devs want to remove this overhead?

Helios IR
Since there's no currying in Helios, it might be possible to change how zero-argument functions are defined/called without affecting the correctness. There's also no ambiguity since zero-argument functions don't really exist in UPLC, so it can be considered a "special" construct in Helios Lang & IR.

() -> { expr } is compiled to (delay expr).
fn() is compiled to (force fn).

Very nice proposal!
Changes to how Helios IR is turned into UPLC are indeed very easy. It will though change the byte-code, and thus address, of all Helios smart contracts. But that is probably acceptable because we're still not at version 1.0.0.
I think the UPLC evaluator will also need some changes to handle force/delay properly (so it actually throws an error if delay/force are applied wrongly, right now those terms don't do anything except increase the exBudget).
Helios Lang changes
I'm unsure if the extra language features you propose are necessary:

giving smart contract developers the option to use delay explicitly might confuse the readers (delay/force is a concept that takes time to understand)
I feel like zero-argument methods and anon-funcs aren't very common

giving smart contract developers the option to use delay explicitly might confuse the readers (delay/force is a concept that takes time to understand)

Yeah, that's why I think it's important to keep the zero-argument function syntax intact, and only change how it's compiled to UPLC under the hood (sorry I didn't make it clear in the issue description). The proposed change is purely a syntactic sugar for anonymous functions - would be great if the return type of anonymous functions can be inferred.

I feel like zero-argument methods and anon-funcs aren't very common

Zero-argument anon-funcs are indeed uncommon, considering how verbose it is currently. For zero-argument methods, not so, because it's the most straightforward way to define some derived/computed properties for a struct/enum. The other 2 ways don't look very natural: top-level functions with 1 argument, and associated functions with 1 argument.

Yeah, that's why I think it's important to keep the zero-argument function syntax intact, and only change how it's compiled to UPLC under the hood (sorry I didn't make it clear in the issue description). The proposed change is purely a syntactic sugar for anonymous functions - would be great if the return type of anonymous functions can be inferred.

I suggest opening a new issue for 'Type inference of anonymous function return types', with some example code samples that clearly demonstrate it would make things more readable.

Zero-argument anon-funcs are indeed uncommon, considering how verbose it is currently. For zero-argument methods, not so, because it's the most straightforward way to define some derived/computed properties for a struct/enum. The other 2 ways don't look very natural: top-level functions with 1 argument, and associated functions with 1 argument.

Not sure what you mean by 'top-level functions with 1 argument, and associated functions with 1 argument'. Many languages have special syntax for getters, perhaps such a thing could be introduced into Helios, but I actually think that the optimization is able to handle the zero-argument case properly, so I don't think this is a performance issue.

I suggest opening a new issue for 'Type inference of anonymous function return types', with some example code samples that clearly demonstrate it would make things more readable.

Totally agree!

Not sure what you mean by 'top-level functions with 1 argument, and associated functions with 1 argument'. Many languages have special syntax for getters, perhaps such a thing could be introduced into Helios, but I actually think that the optimization is able to handle the zero-argument case properly, so I don't think this is a performance issue (I need to verify this though).

Here's an example
spending foo

struct Datum {
  foo: Int
  bar: Int

  // Normal method
  func sum1(self) -> Int {
    self.foo + self.bar
  }

  // Associated function
  func sum2(datum: Datum) -> Int {
    datum.foo + datum.bar
  }
}

// Top-level function
func sum3(datum: Datum) -> Int {
  datum.foo + datum.bar
}

func main(datum: Datum) -> Bool {
  datum.sum1() + Datum::sum2(datum) + sum3(datum) > 123
}

Those 3 functions compile to different Helios IR code:
/*__user__Datum__sum1*/
(self) -> {
    () -> {
        __helios__int____add(__user__Datum__foo(self))(__user__Datum__bar(self))
    }
}

/*__user__Datum__sum2*/
(datum) -> {
    __helios__int____add(__user__Datum__foo(datum))(__user__Datum__bar(datum))
}

/*sum3*/
(datum) -> {
    __helios__int____add(__user__Datum__foo(datum))(__user__Datum__bar(datum))
}

sum1 requires an extra apply/force to call in UPLC. The IR of sum2 and sum3 is what I expect from a getter / computed property (in terms of performance). In a broader sense, not just in the case of getters, zero-argument methods ((self) -> { () -> { ... } } in Helios IR) are always less efficient than one-argument top-level or associated functions.
P/S: It feels like micro-optimizations at this point 😅. But I think it might be worth it... as zero-argument methods are really common in Helios builtins.

Force/delay optimization now implemented in dev branch.
Savings on the ./test-profile.js benchmark are:

1.5% on cpu
3.5% on mem
4% on size

I'll have a look at the zero-argument method case. The type-checker could be augmented to detect getter-like methods, and subsequently generate IR getters instead of regular methods.

Latest dev branch optimizes zero-arg functions at the IR level.
I will close this issue once merged into main

Merged as of v0.9.0


mkaylor's codeplug raises KeyError looking up a ScanList

https://github.com/mkaylor/codeplug/runs/4271476716?check_suite_focus=true
I can't figure this one out immediately, but I do reproduce it locally. Will do some good old fashioned debugging and hopefully come up with a fix.

The issue is related to duplicated zone names in different files. Dzcb should dedupe the names and warn the user

Potential fix could go here: https://github.com/mycodeplug/dzcb/blob/2674d5bc1c25fe89ce8bf77fb21260ab3c90a641/src/dzcb/k7abd.py#L304-L312
Line 311 is already called out as a potential buggy area, but i didn't realize that it would cause problems with scanlists due to unexpected name duplication of unrelated channels


(DOCSP-33419) [ANALYTICS] Operational Views

Jira: (DOCSP-33419) [ANALYTICS] Operational Views
Changes

Adds two new view creation scripts (applied to dev & prod already)

Gonna merge this & add on additional views for the scrubbed collections separately


clear lastResult between tests

I have a selector which looks at the lastResult value and decides whether it needs to recalculate.
the problem is I can't find a way to clear this value between tests.
I'm running  selector.memoizedResultFunc.clearCache() in beforeEach but it doesn't seem to help

This actually works for me...
what doesnt work for me is using the clearCache method on the selector itself when using a maxSize of more than 1 to support several variants of an argument.
Also the clearCache() method does not seem to be included on the memoizedResultFunc type definition, which makes for a painful casting work around

@alexburkowskypolysign Hmm. clearCache() should be on both functions.  Can you put together a CodeSandbox that shows the issue?

@markerikson https://codesandbox.io/s/tender-lederberg-l1d1jr?file=/src/index.ts

Uh... this is really bizarre, because TS says it should be there as part of the typedef of memoizedResultFunc:
Property 'clearCache' does not exist on type '(args_0: any, args_1: string) => void & { clearCache: () => void; }'.ts(2339)

To add to the weirdness @markerikson - I cannot get clearCache to work at runtime in my updated codeSandbox with either usage now: https://codesandbox.io/s/tender-lederberg-l1d1jr?file=/src/index.ts

Uh... this is really bizarre, because TS says it should be there as part of the typedef of memoizedResultFunc

Is it possible TS is reading that additional { clearCache: () => void; } as part of the return type  void & { clearCache: () => void; } rather than the Function type def + { clearCache: () => void; }

Maybe?  Unfortunately this isn't something I really have much time to look into in the near future.  If you can identify an issue with the types or runtime behavior, definitely interested in anything we can fix.

I dont have a ton of time until probs end of the week. Im definitely happy to look into the type issue and put up a PR. The cache issue (if it is an issue) may be over my head. If anyone else here that has worked on the core codebase has any thoughts on the issue in the codesandbox, additional input would be appreciated

I dont have a ton of time until probs end of the week. Im definitely happy to look into the type issue and put up a PR. The cache issue (if it is an issue) may be over my head. If anyone else here that has worked on the core codebase has any thoughts on the issue in the codesandbox, additional input would be appreciated

The cache issue, maybe is not an issue, can be fixed when you run "getEscrowsByCategory.clearCache()" as well as "getEscrowsByCategory.memoizedResultFunc.clearCache()" before "getEscrowsByCategory(state, "category");":
`
getEscrowsByCategory.clearCache();
// @ts-ignore
getEscrowsByCategory.memoizedResultFunc.clearCache();
getEscrowsByCategory(state, "category");
console.log(
"You could get the correct count you want",
getEscrowsByCategory.recomputations() === 1
);
`
Because when getEscrowsByCategory runs, it will check the cache both in selector and memoizedResultFunc.
I'm sorry that I'm not good at English, hope you can understand what I'm saying.

I think this one can be closed, just need to call selector.clearCache() and selector.MemoizedResultFunc.clearCache().


Fix some smaller bugs

This PR fixes some smaller bugs and makes some (really) minor optimization.
Fixes:

The SizeInt data type was always Integer, because the CompilerVersion was compared to 120, which is the Delphi 2009 package version. But it should have been the compiler version 20.0.
BlendBlueChannel used the red channel instead of the blue channel. For SVG images this didn't make a difference, because it is only used for mask images (all 3 colors have the same value).

Optimizations:

BlendBlueChannelLine uses the "negative array index" trick for a better CPU register usage.
CopyBlendInternal uses const on the srcRec parameter, saving save stack operations.

The Img32.Text.pas shouldn't have been in this PR.

The Img32.Text.pas shouldn't have been in this PR.

Ok. That's probably a good thing as I'm very close to another significant update of img32.text.


Add testing on JDK 16 and 17

Updates CI to test on JDK 16 and JDK 17 as well.

Thanks @byencho !


Leaderboard: setup project

In this milestone, I implement the following 👎🏼

Use Gitflow.
Create an npm project with webpack.
Write plain HTML markup.

STATUS: INVALID CODE REVIEW REQUEST 🛑 🛑
Hi @RitaDee,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project that does not have a README. Kindly add a README using the Microverse template. Kindly ensure you remove the logo and that all menu sections are present and working.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Thanks for the correction. I have implemented the required change.

Thank you for the correction. I have fixed it.

🙏


is there any method listener when increase or decrease ?!

@travijuu

@mahmooddagga there is only one listener when limit exceeded. if you have time, can you create a PR for it?

@mahmooddagga I added ValueChangedListener in v1.0.5 version.

@travijuu thanks


Add caching to windows_feature_powershell and fix array handling in windows feature

These fixes are in the 4.1 version of the windows cookbook

Closing this one out since I brought the bugfixes in #7078. We need to get this fixed for Chef 14, but it can be done with the singleton method in another PR


typescript clientside: Is there a way to turn off the websocket temporarily?

I noticed we can't really set the url null
const config = {
        auth: {
          token: authToken(),
        },
        url: "ws://localhost:8080",
      };

Is there a way to turn off electric websocket and use this library solely locally ? Thanks!
i.e. so it will stop pinging the websocket endpoint
web.js:1 WebSocket connection to 'ws://localhost:8080/ws' failed

I'm digging into the code; looks like something to do with Satellite ? so we can just do satellite.stop() ?
(Basically I want to be able run my app 100% locally first - and worry about the Postgres syncing later on)

(I tried turning off satellite and the db operation stopped working all together.) So basically my use case is just to have the SQLite locally and be able to turn the sync on or off.

The React client has a hook called useConnectivityState , which exposes the status of the satellite connection and also a toggleConnectivityState method you can use to disable/enable the syncing and emulate being offline w.r.t. to the sync service.
This API is likely to change, with the connectivity state being read-only and the ability to toggle moved elsewhere, but for the time being I think this should do what you're asking (?)

One short term thing in development is just to ignore the satellite websocket polling errors for now.
As @msfstef says, we will have an ergonomic API for running in local-only mode and we're also about to release an update to the CLI that supports building the type safe client without running the backend services (as per https://github.com/electric-sql/electric/pull/820#discussion_r1447714998).

awww this is so cool! lovely! thanks!
looking forward!


library-go

brings in:

cleaned up api
status momentum to limit failing blips
operator logging levels

/retest

Tracked back to 2019/04/12 16:10:30 auth: error contacting auth provider (retrying in 10s): discovery through endpoint https://<IP_ADDRESS>:443/.well-known/oauth-authorization-server failed: 404 Not Found

/retest

/retest

/retest

Oh, the installer pull changing the default broke this.  Neat.  kas-o needs an update.  I'll get it tomorrow.

/retest

/retest

/retest

/retest


Intermittent Failed to pull image

I'm trying to deploy kube image keeper in AWS EKS using a Standalone Minio installation.
I had no issue getting it configured and the registry is able to connect and store images in Minio. However some of the EKS node, at what seems to be random fail to be able to pull images from the registry with the following error.
Failed to pull image "localhost:7439/docker.io/grafana/promtail:2.7.4": failed to pull and unpack image "localhost:7439/docker.io/grafana/promtail:2.7.4": failed to copy: httpReadSeeker: failed open: failed to do request: Get "http://minio.minio.svc.cluster.local:9000/registry/docker/registry/v2/blobs/sha256/78/78e4198d60e924f58ae4e9dbcf647dfe0fc72eb594fba3a9f0f35b98eeb3a759/data?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxx%2F20240112%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240112T191123Z&X-Amz-Expires=1200&X-Amz-SignedHeaders=host&X-Amz-Signature=341bf92fdbf7d9ccf87859afbb419c4f407527ea8222228fd2ea8f8ae0d4e64e": dial tcp: lookup minio.minio.svc.cluster.local: no such host
Some nodes are able to pull the same image without any issues and the networking setup of all the nodes are the same. I've verified that the node is able to access the service.
If I used the out-of-the-box Minio implementation everything seems to work fine and the only difference seems to be that Minio is in it's own namespace.

Just to add to this. I've created this same setup but with MinIO with public ingress and that seems to work properly. But still seems to be an issue with connecting to the MinIO service.

Hello,
What version of kuik do you use? Could you show me the values that you used to install the chart please?
By default, the registry is accessed via http://kube-image-keeper-minio:9000, did you configured the value .Values.minio.fullnameOverride to minio.minio.svc.cluster.local? Could you try to run nslookup minio.minio.svc.cluster.local from different nodes and confirm that some nodes only can resolve this domain name?


Tabs without Panels

It would be nice to be able to use tabs without panels.  An example use case for this would be to use the tabs to update the location via pushState, with listeners then updating portions of the DOM.
If there isn't a matching mdl-tabs__panel for the clicked tab, then just skip panel logic, set is-active on the clicked tab, and allow the event to fire as normal.
I think an enhancement like this is valuable, as it easily (and optionally) decouples tabs from panels.  It allows us to get the UI of tabs, without being tied to hiding/showing divs that must all be present in the DOM (which, as an approach to dynamic content rendering, is a little dated).
I tried to submit a PR, but I can't push a branch to the repo.

If you want to make a PR, you need to fork the repository, push there, then submit the PR.
However, the window for 1.1 additions is over (aside from one minor change I'm investigating before Monday.) From there we are working on 2.x and we can take this into consideration when building that.

Thank you.  Here is the PR: #4049


SQL code generation needs to quote table names but doesn't

From<EMAIL_ADDRESS>on November 21, 2014 14:24:26
What steps will reproduce the problem? 1. Create a table named "Order"
2. Using the Load/Save dialog, Generate SQL for sqlite.
The actual output:
CREATE TABLE Order ( ...
The correct output:
CREATE TABLE 'Order' ( ...
I am using the demo from http://ondras.zarovi.cz/sql/demo/ Can't tell which version it is - would be nice if it would appear somewhere on the web page. Please provide any additional information below. If you fix this (I don't expect so, but thanks for this great tool anyway!), remember to escape table names in other places as well, e.g. when writing references such as:
id_Order INTEGER DEFAULT NULL REFERENCES 'Order' (id),
Original issue: http://code.google.com/p/wwwsqldesigner/issues/detail?id=186

From ondrej.zara on November 24, 2014 00:39:58
Makes sense, will fix that. The SQLite XSL is a contributed code, I will have to study it first.
Status: Accepted

From<EMAIL_ADDRESS>on November 24, 2014 00:49:36
If you fix it, please also update the code at http://ondras.zarovi.cz/sql/demo/ , and add a way to show the current version, please. Thanks again.

From ondrej.zara on November 24, 2014 01:40:53
The demo installation always corresponds to the latest mercurial commit. I believed I fixed this, can you please test and confirm?
You might want to clear your browser's cache or force-reload the http://ondras.zarovi.cz/sql/demo/db/sqlite/output.xsl file.
Status: Fixed

From<EMAIL_ADDRESS>on November 24, 2014 02:41:05
Works! Many thanks for the quick fix.

From ondrej.zara on November 24, 2014 06:05:07
Status: Verified


NPE in NameAPI.getUUID during async task

Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ResultSetImpl.buildIndexMapping(ResultSetImpl.java:750)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1108)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5616)
at vg.civcraft.mc.namelayer.database.AssociationList.getUUID(AssociationList.java:105)
at vg.civcraft.mc.namelayer.NameAPI.getUUID(NameAPI.java:21)

https://github.com/Civcraft/NameLayer/commit/c94a6b86865f13d0d399cd344333bd7b40368131

on civtest
On Fri, Apr 3, 2015 at 5:27 PM rourke750<EMAIL_ADDRESS>wrote:

c94a6b8
https://github.com/Civcraft/NameLayer/commit/c94a6b86865f13d0d399cd344333bd7b40368131
—
Reply to this email directly or view it on GitHub
https://github.com/Civcraft/NameLayer/issues/91#issuecomment-89424804.


Fix the councillor geo-locator

Mostly fixed in https://github.com/CivicTechTO/tor-councilmatic/issues/15, but we need to sort out why filtering finds the right ward on the map, but no councillor shows up in the listing

Related: https://github.com/datamade/django-councilmatic/issues/64
Solved in:

https://github.com/CivicTechTO/django-councilmatic/commit/2432d6bcee3106f2ec38159d49f02acedd00554f
https://github.com/CivicTechTO/tor-councilmatic/commit/e6ad197adb7cc870b6744e3907e55e6edc39276f


[Feature] TurboMind support Baichuan 13b and Baichuan2 13b

Motivation
https://github.com/InternLM/lmdeploy/blob/65ba649d571e8c6b8dad51b252c9c8c9211b5050/lmdeploy/turbomind/supported_models.py#L95-L97
Hi @lvhan028 @lzhangzz Currently TurboMind does not support Baichuan 13b and Baichuan2 13b. When is it expected to support? Thanks.
Related resources
No response
Additional context
No response

It is a low-priority task. We haven't made a clear schedule for it.

It is a low-priority task. We haven't made a clear schedule for it.

ok

https://github.com/InternLM/lmdeploy/blob/65ba649d571e8c6b8dad51b252c9c8c9211b5050/lmdeploy/pytorch/supported_models.py#L97-L100
It shows that PyTorch Engine doesn't support Baichuan 13b either. Hi @grimoire  Do you have any plan to support it? Thanks.

https://github.com/InternLM/lmdeploy/blob/65ba649d571e8c6b8dad51b252c9c8c9211b5050/README.md?plain=1#L103-L104
Hi @lvhan028 Maybe we should update the README and remove 13B here. Because in the code, neither of the two engines supports Baichuan 13b.

Do you have any plan to support it?

No plans for now.

No plans for now.

Actually, neither of the two engines supports Baichuan 13B, but it is indicated in the documentation that they do. In order to avoid misleading users, I have already updated the README. https://github.com/InternLM/lmdeploy/pull/1485


Added first custom_layout code.

Generates layouts correctly but the aligning when using a background image isn't perfect. Maybe the problem is normalizing by non-square image? Mentioned in #1758

please be aware of the _box_size function:
https://github.com/mne-tools/mne-python/blob/master/mne/channels/layout.py#L419
it can automatically compute and optimal with/height for the boxes.

also you'll need to add a test

Thanks for the tip Marijn, I'll look into that. And tests will be
forthcoming, just wanted to get the code up there first.
On Mon, Jan 26, 2015 at 12:32 AM, Alexandre Gramfort <
<EMAIL_ADDRESS>wrote:

also you'll need to add a test
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-71427807.

Looks like the _box_size function works great - thanks for the tip. I'm having trouble getting an image to plot in the background correctly. Right now I'm just normalizing the xy points by the dimensions of an image, then calling plot_topo, then plotting the image underneath those plots. E.g.:
f = mne.viz.plot_topo(evoked, layout=layout, layout_scale=1)
for ax in f.axes:
    ax.patch.set_alpha(.1)

ax = plt.axes([0, 0, 1, 1])
im = ax.imshow(img)
ax.set_zorder(-1)

However, it seems like there's always some blank space around the topo plots, like this:

Any ideas why it would be doing this? Ideally the entire background would be taken up by the image. I'm not sure why there's the padding at the top/bottom...is the figure window forced to be square?

Looks like an aspect ratio issue to me, and this confirms it as a likely suspect:
import numpy as np
import matplotlib.pyplot as plt
plt.ion()
img = np.random.rand(10, 20, 3)
ax = plt.axes([0, 0, 1, 1])
im = ax.imshow(img)
ax.set_zorder(-1)

Changing the imshow to have aspect='auto':

BTW I got the idea from here, second result for googling "matplotlib imshow autoscale":
http://stackoverflow.com/questions/13384653/imshow-extent-and-aspect

Ah, here is the same code with aspect='auto'

How would you imagine making a test for this kind of thing? It ultimately comes down to "do the axis points seem to lie on the correct image points", but comparing the actual plotted image seems not possible in the test.
I was thinking that you could define an image with circles on it, then define the XY positions of those circles, then use those positions and that image to create a layout. Finally, see if when you scale the layout.pos values back up to their original dimensions, the xy points still fall inside of a circle.

You mean for test-suite purposes, or development? I think it's probably overkill for the test suite, eyeball test seem sufficient. But if you really want to make a unit test for it, I won't stop you :)
For development, I'd do whatever was easiest to validate.

I was thinking of test-suite stuff, but you're right, that'd be hard and
probably overkill. Is there a testing folder that you guys would use for an
"eyeball" test? AKA something that you wouldn't want nose to deal with, but
that you could refer to if anything was looking wonky?
On Tue, Jan 27, 2015 at 5:12 PM, Eric Larson<EMAIL_ADDRESS>wrote:

You mean for test-suite purposes, or development? I think it's probably
overkill for the test suite, eyeball test seem sufficient. But if you
really want to make a unit test for it, I won't stop you :)
For development, I'd do whatever was easiest to validate.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-71763280.

We usually use examples for that sort of thing. It would be nice to have a simple example that showed the functionality and why it's useful, while also serving as a check to make sure things didn't break -- many of our examples work this way.

Sounds good - perhaps I can write an example rather than just hosting the
stuff on my blog/github account :P
On Tue, Jan 27, 2015 at 6:33 PM, Eric Larson<EMAIL_ADDRESS>wrote:

We usually use examples for that sort of thing. It would be nice to have a
simple example that showed the functionality and why it's useful, while
also serving as a check to make sure things didn't break -- many of our
examples work this way.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-71770913.

Once the generate_2d_layout function is complete, the make_eeg_layout function should be modified to use it. DRY and all that.

travis is not happy certainly because docstring is not up to date

can you fix the travis issue?

Yes - got a bit carried away with work the last few weeks. I will work on finishing this up in the next day or two. I'm not sure what you meant by the docstring not being up to date - I tried to model the docstring for this function in the same manner that the other functions use, but perhaps I am missing something?

Good point - I removed the unimplemented "interactive" feature. I don't think it's necessary for a working version of this function. BTW, has anyone used to this to make sure that it actually works?

Would it be worth adding an example of using this? That might make people more likely to test it. Also, please add some test code.

I can write up a blog post that shows a use case for ecog. Would you prefer that it be a self-contained python script like you guys have on the website? For tests, I will try to come up with some in the coming days.

Coverage decreased (-0.16%) to 86.09% when pulling d9b97c138facb71137ceb52d85b9df68f39dfb01 on choldgraf:add_custom_topo_layout into fdbbe22abeee21665f7e1f3ec66bc89268094cca on mne-tools:master.

Usually an example in the examples/ directory is best, but maybe for this use case a blog post would be fine.

Cool - I'll put something together when the tests are done, and we can
figure out the best format for it to be in. Personally I feel like
notebook-driven examples are a lot clearer for me to understand, which is
why I use them rather than writing out python scripts. However, I totally
understand if it'd be better for the project to keep things consistent and
in the "examples" folder.
Chris
On Tue, Feb 24, 2015 at 5:53 PM, Eric Larson<EMAIL_ADDRESS>wrote:

Usually an example in the examples/ directory is best, but maybe for this
use case a blog post would be fine.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-75890675.

@choldgraf I feel like this PR is pretty close. Since you're in hacking mode, maybe now would be a good time to finish? :)

Yo - yeah this is on my list of stuff to work on next. The last few weeks
I've been in NRSA hell (just submitted on Wednesday), so I'll have more
time to work on non mind-numbing grant stuff next :)
On Fri, Apr 10, 2015 at 1:11 PM, Eric Larson<EMAIL_ADDRESS>wrote:

@choldgraf https://github.com/choldgraf I feel like this PR is pretty
close. Since you're in hacking mode, maybe now would be a good time to
finish? :)
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-91670220.

Hmm - I just rebased onto master and it looks like some of the time-gen stuff got changed...what's up with that? I don't remember making any of those edits so I assume that I did something wrong on the rebase...

As for what's left - it seems that right now the main thing to do is basically test this out under a few cases to see if it works. Here's what I'm thinking in terms of tests to ensure:

Generate a square of plots and make sure that the resulting x/y positions of each subplot are correct
Generate a custom shape of plots and make sure that x/y positions are correct
For a tutorial or blog post - Pull an image from the web (maybe hosted on the mne website?) and define positions on this, make sure that the plots sync up with those points.

This brings up a question - right now there's extra code in there for clicking image positions. Is this something that we want to include in the scope of MNE, or should we just leave it up to the user to figure out how to get a set of 2-d points from an image?

did you git fetch upstream and do git rebase upstream/master?

basically - there was one extra step in there:
git checkout master
git fetch upstream master
git merge upstream/master
git checkout this_branch
git rebase master

The only merge conflicts on the rebase were a couple of import differences. The time-gen stuff didn't show up there at all...

I have never seen a merge and rebase play well together. Why did you do a merge, then a rebase?

...and importantly, did you make a backup of your branch before doing any of this?

if not, then I'd just do:
git checkout -b fix-rebase upstream/master
git cherry-pick 7b1611f a732fab 6fa6cc0 47ae4e5 f604d61 0ce0811 f4f9170
<use git mergetool and git cherry-pick --continue until we're good>
git push origin --force fix-rebase:add_custom_topo_layout

The short answer is because I don't have a ton of experience doing rebasing and didn't realize it was an issue.
The long answer is that I figured it would be good to have my local master be up-to-date anyway, which is why I merged first and then just rebased onto my own repo's master branch.
And I'm pretty sure that I did not make a backup of this branch. Not really sure how that works...do you use a git stash or something?
Is the main concern the time-gen stuff? Other than that it seems like everything else looks normal. Is there a way to just remove the time-gen changes from this branch in general?

Your plan sounds good. In terms of clicking, I don't have a strong opinion, but keep in mind that any code you add should be robust, broadly useful, and you will be expected to some extent to help support it going forward :)

The cherry-picking line above should do what you want, it will make a fresh branch based off of upstream/master and then put your N commits on top of it only.
Not knowing the state of your master branch and so forth, I'm not sure what was wrong. My guess is that it was not a clean branch. I actually usually do this to ensure my local master is correct:
git fetch upstream
git checkout master
git reset --hard upstream/master

But I only do that if I actually want to work with current master. If I have a given branch I want to rebase, this is safest (doesn't depend on local master at all):
<on branch that needs to be rebased>
git fetch upstream
git rebase upstream/master

OK I'll give that a shot - does that mean I'd need to open up a new pull request from the new branch?

no, the last line I pasted earlier push-forces your local branch onto the same remote branch that is for this PR:
git push origin --force fix-rebase:add_custom_topo_layout

Ah ok - I will try this in a little bit and hopefully will not explode github in the process...

BTW in the future if you're new to rebasing I'd do this to backup your branch locally first:
git checkout branch-needing-rebase
git checkout -b branch-needing-rebase-bak
git checkout branch-needing-rebase

Or if you want you can always back it up remotely:
git push origin branch-needing-rebase:branch-needing-rebase-bak

Ahh I see - that makes sense / is a good idea. I should have listened to my
general principle of always backing up anything you do on a computer before
trying something for the first time :(
On Mon, Apr 13, 2015 at 3:21 PM, Eric Larson<EMAIL_ADDRESS>wrote:

BTW in the future if you're new to rebasing I'd do this to backup your
branch locally first:
git checkout branch-needing-rebase
git checkout -b branch-needing-rebase-bak
git checkout branch-needing-rebase
Or if you want you can always back it up remotely:
git push origin branch-needing-rebase:branch-needing-rebase-bak
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-92516431.

OK - I think that the cherry picking worked correctly, as there are now all commits are from me and only on the relevant files. I'll get back to adding functionality rather than un-breaking things next :)  thanks for the help!

Thanks for the comments @agramfort, a lot of those were carryovers from the last round of edits (e.g., before I knew not to include pandas as an import). I've updated the clicking code to use native matplotlib rather than TK, which should make it a lot easier to maintain and understand. I think it uses the same functionality, but will try testing it out next in order to make sure the code works as it should.

ok. Can you put WIP in PR title and switch it to MRG when ready to review.
thx

Will do

Hey all - in terms of some kind of demo / guide, how is something like this:
http://nbviewer.ipython.org/github/choldgraf/write-ups/blob/master/mne/mne_clickable_image.ipynb
It's a bit hard to write this into an example because of the interactive clicking part, but I could create a csv file with pre-defined positions, as well as an image file, and generate the image in this notebook with it.

Notes:

You can use python setup.py develop to make it so if you do import mne, it imports whatever you have checkout out currently using git.

I, too, had to do some silly iteration with str() to use mne.create_info for prototyping. Can you add integer support to create_info, which just creates channels named 0->N if N is passed as the channel names parameter?

I like your example. Are you okay adding the layout and image to the mne-python repo? If so, then you could just have the code you used to generate the positions, with instructions, in a comment at the top of the example, and the rest of the example could proceed as it does in your notebook.

Sound good?

(we should have functions for saving and loading layout files somewhere, so you can just use those directly instead of CSV)

...and I leave it as a challenge to make the image as small as possible (JPEG with huge compression, GIF with a 2, 4, or 8 color pallette, etc.) without degrading the quality too much. :) But seriously, we don't want to add many binaries to the repo, so please make it small.

haha - ok, I'll take a whack at this tomorrow.
On Wed, Apr 15, 2015 at 3:28 PM, Eric Larson<EMAIL_ADDRESS>wrote:

...and I leave it as a challenge to make the image as small as possible
(JPEG with huge compression, GIF with a 2, 4, or 8 color pallette, etc.)
without degrading the quality too much. :) But seriously, we don't want to
add many binaries to the repo, so please make it small.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-93587032.

OK here are some updated:

I fixed up the create_info code, been wanting to do that for a while.

I got the image size down to 10kb using a GIF with 4 colors. Think that's OK?

I'm trying to save the layout file with my_layout.save, but I'm getting this error:

TypeError                                 Traceback (most recent call last)
 in ()
----> 1 lt.save(layout_path + 'custom_layout.lout')
/Users/choldgraf/github/mne-python/mne/channels/layout.pyc in save(self, fname)
69         height = self.pos[:, 3]
70         if fname.endswith('.lout'):
---> 71             out_str = '%8.2f %8.2f %8.2f %8.2f\n' % self.box
72         elif fname.endswith('.lay'):
73             out_str = ''
TypeError: not enough arguments for format string
  `box` is a tuple of two numbers...so I think that's where the issue is coming in. Is this a bug with my code, or a bug with layout.save?

Lemme know!

IIRC the box is x, y, w, h, I'm surprised things work if you only have two of them. Maybe that's a difference between .lay and .lout? I don't remember what those are, I didn't know we had two...

I think 10k is okay

Hrm...I'm making the box with _box_size, which was there before my time. This function returns two floats, one for width, one for height. Maybe I'm supposed to create a full box from that?
Either way, I've updated the notebook and code to reflect recent changes. It works fine with .lay

I'm not sure how it's supposed to work, so I can't really help you sort it out. If lay works, I'm okay with that, though.

Travis is unhappy

I'm gonna speak to him this morning and see why he's complaining...
On Apr 17, 2015 9:04 AM, "Eric Larson"<EMAIL_ADDRESS>wrote:

Travis is unhappy
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-94016723.

Not related to Travis, but I'm getting some weird behavior with layout saving / loading. I can create the Layout fine, but when I save, then load it back in, the box attribute is None. That said, it still seems to plot OK, which is weird...
I'm still not sure why .lout and .lay both exist separately. The functions for reading them in are a little bit different (and strangely the .lay reading function just sets box to None, which explains why this is happening). Are these for compatibility with other programs or something?

Yes, I think so. I think .lout is the one that ships with mne, so it would be better to use that if you can. Can you change your code to use that? I think you'd just need to calculate a couple of extra parameters...?

Yeah, that's what I'm working on now. I'm creating the width and height parameters with _box_size, then setting box to (0, 0, w, h)...we'll see if that works

Cool, and your travis error is just style. You can always check at your end by running make flake with an up-to-date pep8, pyflakes, and flake8 installed.

@choldgraf will you have time to work on this today or tomorrow at all? If not, we'll probably move it to 0.10 instead of 0.9 since we're pushing for release.

I'll work on this a bit today - I don't think there's much left to do. The travis thing is just an EOF white space issue. Other than this I just need to include tests unless this PR needs to include things like modifying the "make eeg layout" function to use this etc.

Nah, that can be done later. But yes please add tests to cover as much code as possible.

Just added a few tests for the generate_2d_layout function. It'll be hard to write a test for the ClickableImage class, since that requires some interactivity. I've got the ipython notebook referenced above. I'm happy to turn that into a blog post for you guys, or just post it on my website or something like that. What do you think?
Also - while Travis was happy w/ the last commit, the latest appveyor build broke. Here's the traceback...maybe it's not related to this change?
======================================================================
FAIL: Test that module imports are necessary
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python27-conda64\lib\site-packages\nose\case.py", line 197, in runTest
    self.test(*self.arg)
  File "C:\projects\mne-python\mne\tests\test_import_nesting.py", line 43, in test_module_nesting
    raise AssertionError(stdout)
AssertionError: Found un-nested scipy submodules:
set(['integrate', 'ndimage', 'special'])
>>  raise AssertionError("Found un-nested scipy submodules:\r\nset(['integrate', 'ndimage', 'special'])")

To save import speed, you need to nest any import to scipy.those modules. I'll find it.

Then you should be good.

And the clickable thing you don't absolutely have to write tests for, but if you want to write a simple test that generates a layout with a single fake click, you can. Look at mne/viz/tests/test_raw.py, and use the _fake_click to fake a click in your axes, see if it generates an appropriate plot. Sound doable? You might need to move _fake_click to e.g. mne/viz/utils.py since it'll be used in multiple places now.

OK - I added a test using the _fake_click function. Thanks for the tip. Let me know how that looks!
(the failed commit was because I got OCD and updated the docstring of the test above the one I wrote so that my linter would stop yelling at me, but apparently that's been changed in master or something so I switched it back)

Made a couple of minor comments.
Can you add a simple example file, that says how you would have made a useable plot from your brain image? For example, you probably need to put in a ClickableImage line, but comment it out, saying the result was saved to mne/data/whatever, then load that result, and continue (probably plotting noise inserted into a RawArray in this case). WDYT?

OK, how about that?

Oops, just saw your last comment. Yeah I can do this...it's basically what the ipython notebook was doing before. I can just scriptify that and put it in examples?

No IPython, yeah just turn it into a script, also Travis is angry :)

OK, I added an example...let me know what you think.
Also, I'm not sure why Travis is angry. It's working on all the builds except for the one with python 3.4. Here's the error message. I wonder, does 3.4 handle tuples differently or something? Or does numpy handle shape differently?
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/testenv/lib/python3.4/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/travis/miniconda/envs/testenv/lib/python3.4/site-packages/mne-0.9.dev0-py3.4.egg/mne/channels/tests/test_layout.py", line 365, in test_generate_2d_layout
    lt = generate_2d_layout(xy, w=w, h=h)
  File "/home/travis/miniconda/envs/testenv/lib/python3.4/site-packages/mne-0.9.dev0-py3.4.egg/mne/channels/layout.py", line 1027, in generate_2d_layout
    ch_indices = np.arange(xy.shape[0])
IndexError: tuple index out of range

The example appears to displease Travis:
https://travis-ci.org/mne-tools/mne-python/jobs/59963817#L837
Py3k doesn't do anything differently with tuples, but things like zip are now iterators and not a list. that means that this line:
xy = np.array(zip(*[i.ravel() for i in square]))

Produces this:
>>> snobg = 10
>>> sbg = 15
>>> square = np.meshgrid(*[np.arange(snobg)] * 2, indexing='xy')
>>> xy = np.array(zip(*[i.ravel() for i in square]))
>>> xy
array(<zip object at 0x101fd03c8>, dtype=object)

Notice that this is a array with one element, which will have ndim=0 and thus len(shape) == 0.

Ohhhhh that's it. OK, so I need to do list(zip(... and it should be OK
then, right?
I should really get more familiar with python 3 :-/
On Fri, Apr 24, 2015 at 7:31 PM, Eric Larson<EMAIL_ADDRESS>wrote:

The example appears to displease Travis:
https://travis-ci.org/mne-tools/mne-python/jobs/59963817#L837
Py3k doesn't do anything differently with tuples, but things like zip are
now iterators and not a list. that means that this line:
xy = np.array(zip(*[i.ravel() for i in square]))
Produces this:

snobg = 10
sbg = 15
square = np.meshgrid([np.arange(snobg)] * 2, indexing='xy')
xy = np.array(zip([i.ravel() for i in square]))
xy
array(<zip object at 0x101fd03c8>, dtype=object)

Notice that this is a array with one element, which will have ndim=0 and
thus len(shape) == 0.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-96122201.

I would prefer to find a more explicit way to do what you're trying to accomplish. I love one-liners, but an ndarray cast of a list of a zip of a * of a list comprehension is a bit opaque even for me :)

Haha, I've been using pandas too much. OK, I'll try to do something more
elegant. Maybe just use itertools rather than meshgrid?
I will try to finish this up either tonight or tomorrow!
On Fri, Apr 24, 2015 at 7:45 PM, Eric Larson<EMAIL_ADDRESS>wrote:

I would prefer to find a more explicit way to do what you're trying to
accomplish. I love one-liners, but an ndarray cast of a list of a zip of a

of a list comprehension is a bit opaque even for me :)

—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-96122610.

Do you need to use itertools? Could you use a for loop? The farther you wander from builtins and numpy generally the less readable code becomes. meshgrid is fine if you need to use it, most people will know what it does.

IIRC some things from itertools have moved, too, so you might end up needing to get them from somewhere in externals.six.

Ok ok, I will try it in raw python, I promise :-)
On Apr 24, 2015 7:50 PM, "Eric Larson"<EMAIL_ADDRESS>wrote:

IIRC some things from itertools have moved, too, so you might end up
needing to get them from somewhere in externals.six.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-96122768.

Coverage decreased (-10.47%) to 79.73% when pulling c323f295723366495084a19393b3768d243d442b on choldgraf:add_custom_topo_layout into a4f58192d9b24ed1303d3cafd9ef448bf7217af6 on mne-tools:master.

Coverage decreased (-10.47%) to 79.73% when pulling c323f295723366495084a19393b3768d243d442b on choldgraf:add_custom_topo_layout into a4f58192d9b24ed1303d3cafd9ef448bf7217af6 on mne-tools:master.

OK - I think that I've addressed both of these things (still managed to keep the xy definition a one-liner...think that's OK as is?). It looks like appveyor is crashing but I'm having a hard time getting information about it. I'll check again later tonight or tomorrow.

Coverage decreased (-0.08%) to 90.12% when pulling c323f295723366495084a19393b3768d243d442b on choldgraf:add_custom_topo_layout into a4f58192d9b24ed1303d3cafd9ef448bf7217af6 on mne-tools:master.

All good from Travis except for style:
https://travis-ci.org/mne-tools/mne-python/jobs/59979483#L841
It might we worth getting automated PEP8 / pyflakes checking. If you don't want to do that, you can install flake8 and do make flake before pushing, it would save ~1.5 hours of CI run time if you expect frequent style errors.

Two remaining issues:
First, when I click inside the plot but not on a trace, I get this:
  File "/Users/larsoner/custombuilds/mne-python/mne/viz/topo.py", line 184, in _plot_topo_onpick
    raise err
AttributeError: 'Axes' object has no attribute '_mne_ch_idx'

Second, if I resize the figure, the alignment gets screwed up. You either need to make it so that the image is not fixed aspect ratio (which isn't great), or you need to modify the matplotlib axes placement so that they follow a fixed aspect ratio. This is probably the correct solution, but I expect it will be much harder to figure out, so if you want to go with the non-fixed version it's okay.
If you want to go for the better solution, Google might pop up something from StackOverflow or the matplotlib mailing list. You could also just shoot a quick email to the mailing list with your use case (placing axes on specific locations on a fixed-aspect-ratio background image and having them stay in the proper positions regardless of window size) and see if someone responds. There must be a way to change the axis placement during resize... then it's a matter of dealing with the transformation systems to get the transforms right. Maybe on each resize, you could take the original locations in data (image x,y) coordinates, transform them out to figure coordinates, and then relocating each axis appropriately. That actually sounds doable.

Actually, it looks like you might just be able to put everything into an AxesDivider and set the aspect ratio of the divider to 1 as well:
http://matplotlib.org/1.4.2/mpl_toolkits/axes_grid/users/axes_divider.html
I'd try that first. :)

Thanks for your comments - I've fixed the PEP issue (I actually have PEP8/257 modules in sublime text, I just missed this one). I didn't think about the fact that building these PRs is expensive/wasteful. Sorry about that - I'll do more QA before pushing new commits next time.
Regarding the resizing / clicking errors, I totally didn't think about that. I will try to address these tomorrow. I've just been using this code on images of fixed size, and just kept everything consistent from there (if I wanted an image that was a different size / a crop / etc, then I just photoshopped the image and then re-clicked)

The build time isn't a huge deal, just something to keep in mind :)
Yeah just make sure it works well in resizing, which I think should work of
using the divider class and also setting its aspect ratio. But maybe you
can't also custom position axes, in which case you'll have to set positions
manually on resize. Or you could allow your image to deform on resize I
guess...

Hey @Eric89GXL, looking into your other two comments now, and I'm a bit confused as to the errors you're getting. Questions below...
Two remaining issues:

First, when I click inside the plot but not on a trace, I get this:

  File "/Users/larsoner/custombuilds/mne-python/mne/viz/topo.py", line 184, in _plot_topo_onpick
    raise err
AttributeError: 'Axes' object has no attribute '_mne_ch_idx'
```python

What do you mean by "inside the plot but not on a trace"? This seems like it is unrelated to the additional code in this PR, but please correct me if I'm wrong. I didn't change anything in topo.py, but is this happening because of some information that I'm not including in the layout file or something?

I tried clicking outside of the displayed image in ClickableImage, and it seems fine. Nothing happens and nothing is appended to the `coords` attribute, which seems OK to me. If this is an issue with the `plot_topo` functionality, perhaps I can give it a stab but I am less familiar with that code.

> Second, if I resize the figure, the alignment gets screwed up. You either need to make it so that the image is not fixed aspect ratio (which isn't great), or you need to modify the matplotlib axes placement so that they follow a fixed aspect ratio. This is probably the correct solution, but I expect it will be much harder to figure out, so if you want to go with the non-fixed version it's okay.

What do you mean by the alignment gets screwed up? I tried resizing the image to a bunch of different ratios and clicking the same point, and it always returned the same value. Doesn't this seem like the behavior that we would want? E.g., here's the output of `plot_clicks` for 3 clicks on the same electrode with a different wonky resize each time (e.g., scaling and stretching)

![image](https://cloud.githubusercontent.com/assets/1839645/7339635/e0d588a0-ec2a-11e4-88d8-2bfce893f861.png)

The stretching issue comes up not when using ClickableImage, but when actually using the plot_topo with a background image, i.e. your example file. If you run that example and resize the window, the plots are no longer in the correct place, right?
If you get the error about channel indices in other examples, too, please open an issue. You shouldn't have to fix it as part of this PR but one of us should fix it before release. :)

For example:

Ahhh, yes I see. So both of these comments are w/r/t the plot_topo function, not the ClickableImage class. That does sound like an issue if we're going to have people plot things on top of background images...
And you don't like the idea of just allowing the topo plots to have a variable aspect ratio? I was thinking: since the background plotting is already a little bit unintuitive (e.g., needing to change the zorder and such), then it might be helpful to just include another plotting function add_topo_bg_image or something.
This would take the topo figure and the image array as an input, then call imshow, set the zorder, and set the aspect ratio of both axes to "auto" so that they can scale normally. Something like this:
def add_topo_bg_image(f, im):
    f.axes[0].set_aspect('auto')
    ax_im = f.add_axes([0, 0, 1, 1])
    ax_im.imshow(im, aspect='auto')
    ax_im.set_zorder(-1)
    return f

# And here's the call
f = mne.viz.plot_topo(epochs.average(), layout=lt)
add_topo_bg_image(f, im)
plt.show()

Then you could resize, e.g.:

Yeah, lets just let the aspect ratio be auto. It might look like crap for some images, but in that case users can manually set the figure size correctly. It will make the coding a lot easier.
I'm fine with mne.viz.add_background_image(fig, img), it should work for any figure and any image so no reason put the topo name in there. It will only be a few lines but worth it for usability I think.

OK - take a look at that and let me know what you think. I also noticed that the sub-plot clicking only works when you have qt as the backend (at least, it doesn't work on my computer until I explicitly call %matplotlib qt in ipython. Should we include the plt.set_backend call in our examples?
Also as an aside, would it be worth including a note in the docstring of plot_topo etc. that interactive stuff may only work with qt?

It might be a good idea to tell people that, yeah. I'd rather do that than explicitly set the backend.
Flake8 got you again:
https://travis-ci.org/mne-tools/mne-python/jobs/60171513#L840
BTW if there are lines you think really should be included, you can add   # noqa at the end of the line to get flake8 to ignore them. But this should be used very sparingly.
Example works better now. We are close!

Please also add your new functions to doc/python_reference.rst and update doc/whats_new.py.

So the travis problem is that I'm importing ClickableImage and generate_2d_layout, but these are both in the commented-out part of the code, so travis thinks I'm never using them. Is this worthy of # noqa? If so, do I put this after the imports?

sure, that's resonable, just put   #noqa at the end of the offending lines. You can do git grep noqa to see other examples in action in our codebase.

dang it, like this:
line  # noqa

OK - I ran make flake on this one before uploading, so if Travis isn't happy then I will throw my computer out the window :)
I believe that I've addressed all of the comments, let me know if there's anything else!

OK, I think these issues have been addressed but now it's non-mergeable. Think that's because of the docstring stuff? Is there a way for me to see what I changed that broke the mergeability?

Or perhaps I need to fetch the latest master and update my own, then check for merge conflicts there?

This is what I do in these situations:
git checkout add_custom_topo_layout
git checkout -b add_custom_topo_layout-bak  # make a backup
git checkout add_custom_topo_layout
git fetch upstream
git rebase upstream/master
git mergetool
git rebase --continue
git mergetool
git rebase --continue
...
git push origin --force add_custom_topo_layout

OK, I think that I fixed the rebase but let me know if it seems like I exploded anything in the process. I think it's fitting that this PR was revived, and ultimately closed, with a rebase :P is that common?

 Did I make you change things that many times???

Ahh, you have some fixing rebase commits in there, phew :)

Haha, well, when I do commits I tend to break them up into chunks to make it more clear what I changed. E.g., if you made comments on three files that are unrelated, then I'll change all three files and then create three commits, one for each change. Maybe that's a bad idea?

I pretty much always use git commit -am 'FIX: etc.' because what you do sounds too hard :)

How about that?

Oh, nevermind. I'm dumb :)

I'll run the example and if the CIs are happy I think we can merge.

Example worked great, but:
larsoner@bunk:~/custombuilds/mne-python$ nosetests mne/tests/test_docstring_parameters.py
F
======================================================================
FAIL: Test module docsting formatting
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/larsoner/custombuilds/mne-python/mne/tests/test_docstring_parameters.py", line 163, in test_docstring_parameters
    raise AssertionError(msg)
AssertionError:
mne.viz.utils.ClickableImage.onclick arg mismatch: ['event']
>>  raise AssertionError("\nmne.viz.utils.ClickableImage.onclick arg mismatch: ['event']

So it is a problem because the function didn't have documentation for that arg? AKA does this fix it?

In that case should I do the same for the two **kwargs arguments in that class?

Yep, that should do it. Try running the line I ran above to see for yourself, though.

We usually do add docstring for **kwargs : dict \n optional arguments for whatever, too, even if the test doesn't detect it's missing

I see - OK I think that should be covered now. Ran the docstring test you just did and it worked fine

LGTM and the example still works :) Thanks again for trudging through this, but I think we've converged on a nice solution now.

OK cool - so, we're good? Assuming travis and appveyor are appeased?
No no, thanks to you for helping me through this. Hopefully it is time well-spent and I won't have to have as much hand-holding next time around :)

Yep, should be good. Fingers crossed...

Thanks @choldgraf!

Really nice work @choldgraf, thanks for the contribution!
2015-04-28 4:32 GMT+02:00 Eric Larson<EMAIL_ADDRESS>
Thanks @choldgraf https://github.com/choldgraf!
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-96888908.

Hallelujah :D
Thanks guys!
On Mon, Apr 27, 2015 at 7:33 PM, Denis A. Engemann<EMAIL_ADDRESS>
wrote:

Really nice work @choldgraf, thanks for the contribution!
2015-04-28 4:32 GMT+02:00 Eric Larson<EMAIL_ADDRESS>
Thanks @choldgraf https://github.com/choldgraf!
—
Reply to this email directly or view it on GitHub
<https://github.com/mne-tools/mne-python/pull/1762#issuecomment-96888908
.

—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/1762#issuecomment-96889022.

:beers: !


Filters not displayed in generated report v4.0.3

Hi
I recently migrated from version 3 to version 4.  I really like the newer version and it is very cool.
In version 3, the below filters were available in the report and it was easy to filter log messages based on the status. But this is missing in version 4. I am not sure if i am missing anything on my code. Please assist.

Thanks!
Venky.

@anshooarora is this enhancement can be expected in version 5?


Add Dynamic GPIO for stm32

Agreed. The enum is a cost we don't need to pay.
We should do the implementation like nrf where Input/Output wraps Flex.

Closing in favor of #851


helmfile: fixup for argocd-config 1.0.8

Unfortunately 1.0.8 was mistakenly configured to use https://github.com/wbstack/charts.git rather than
https://wbstack.github.io/charts and therefore wasn't correctly parsing the chart without a path. 1.0.9 is a fixup for this that uses the correct repoURL
Bug: T375195

Good idea! I already updated https://github.com/wmde/wbaas-deploy/pull/1815


[request feature] add configurations for source

Hi, can you add some configurations for source (like cmp_tabnine). It would be very nice because the tsserver really slow, so I want to limit the number of suggesstion results

I found out the reason why the lsp auto suggestion very slow, because of the lsp.log file (in my case, it is located in ~/.cache/nvim/lsp.log) is too large ~13GB. After deleteting the lsp.log file, everything works well again.
Sorry for this inconvenience


Drop headings down a bit

The h tags in Foundation are too big. This drops them all down a notch.

:+1:


Refactor Issues Subscription

[x] FIX: getIssueWatchers() get only aktive suscriber

[x] update tests

[x] add tests

[ ] ignore issue if unsubscribed but repowatch (Moved to #8852)

move ToDos into new issue: #8852
to make refactor independend from feature additions

@lunny I think it is ready for review ...

@guillep2k there is only one bugfix (dont return watcher witch is explicite NOT watching) the rest is only code refactoring + add tests

Codecov Report

Merging #8738 into master will increase coverage by 0.01%.
The diff coverage is 41.66%.

@@            Coverage Diff             @@
##           master    #8738      +/-   ##
==========================================
+ Coverage   41.13%   41.15%   +0.01%
==========================================
  Files         547      547
  Lines       71325    71305      -20
==========================================
+ Hits        29340    29346       +6
+ Misses      38272    38246      -26
  Partials     3713     3713

Impacted Files
Coverage Δ

routers/api/v1/repo/issue_subscription.go
0% <0%> (ø)
:arrow_up:

routers/api/v1/api.go
73.37% <100%> (ø)
:arrow_up:

models/issue_watch.go
58.57% <100%> (+1.21%)
:arrow_up:

models/repo_list.go
74.07% <0%> (+0.92%)
:arrow_up:

modules/log/event.go
65.64% <0%> (+1.02%)
: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 9930d47...7aa2e31. Read the comment docs.

@guillep2k add reqToken to GET too? or how open/restrictive this function should be?

It's no longer leaking the mail addresses through this endpoint. However, there's no longer a way for admins to get the users' addresses through most endpoints including this (/admin/adminGetAllUsers seems to work). I don't know, looks like a breaking change?

We could Introduce an User.AdminAPIFormat() func ? @guillep2k  wich is exec if user is admin?

@guillep2k the PR dont change API behaviour only fix a bug and refactor code ...

@lunny I'm ready ...

Make L-G-T-M work

force-pushed the 6543-forks:refactor_issues-subscription branch 2 times, most recently from 37d0624 to 0ac149a 2 days ago

@6543 first force-push fixed the user email leaking, second force-push removed the fix? I can't find that fix anymore.

@guillep2k I removed this "fix" - because there was no bug user.apiformat already handle this for us ...

@lunny can you look at https://github.com/go-gitea/gitea/pull/8738#discussion_r347146877 plz


Add config support for wg-quick types

I'd love if wireguardctrl supported wg-quick configuration options in wgtypes.Config.
I'm mostly interested in:

Address field
MTU
Table
PreUp, PostUp, PreDown, PostDown

I can open rudimentary PR for this

This is an interesting idea, but to my knowledge, these operations are more so the domain of route netlink and other OS-specific APIs, and not related to the actual WireGuard device implementations (generic netlink, userspace, etc.).
I think it'd make more sense to create/delete WireGuard interfaces and set IP/link parameters in another package, in order to keep the scope of this one focused on managing parameters of existing links.

Closing as out of scope, per https://github.com/mdlayher/wireguardctrl/pull/27#issuecomment-476317106.

How about having the address at least? That's the part what's hardest for me since I'm not that experiences with netlink socket (( and that's the one I'm actually missing the most ))

I'm not entirely sure what you mean. Getting or setting the IP address would be done using a route netlink operation on Linux, or other OS-specific operation on another platform.
You'd need to pull in a different library such as https://github.com/vishvananda/netlink or https://gitlab.com/mergetb/tech/rtnl to set the IP address anyway. You could get the device's IP address with net.Interface from the standard library.

Does this package handle the routes via netlink socket? Or not?

I mean when you do wg-quick up it setups the wireguard device, routing table and adds ip addresses on the interface

Those operations are not handled by this package. This package only gets and sets data available in the generic netlink and userspace interfaces:
https://www.wireguard.com/xplatform/
https://godoc.org/github.com/mdlayher/wireguardctrl/wgtypes#Config
https://godoc.org/github.com/mdlayher/wireguardctrl/wgtypes#Device


feat: add experiments config option

I built and installed this change and can confirm that it works as expected
I tested it with Templ: Experiments rawgo and the debug console no longer errors on {{ i := 0 }}


No option to set or define a user and password for the database?

Create an instance of an IBM service
resource "ibm_service_instance" "service" {
name       = "${var.instance_name}"
space_guid = "${data.ibm_space.space.id}"
service    = "cleardb"
plan       = "cb5"
tags       = ["cluster-service", "cluster-bind"]
}
aws example:
resource "aws_db_instance" "default" {
allocated_storage    = 10
storage_type         = "gp2"
engine               = "postgres"
engine_version       = "9.5"
instance_class       = "db.t2.micro"
name                 = "postgres"
username             = "postgres" # this
password = "${random_string.password.result}" # and this
}
I did refer https://ibm-cloud.github.io/tf-ibm-docs/v0.11.3/d/service_instance.html and it seems the option to set/define username and password isn't available.

Hi, I do not see the clearDB service listed in the IBM Cloud catalog. Do you mean the compose for MySQL or Postgres service?
If so, then it does not appear that username and password can be set when initializing these IBM Cloud resources.
Here is a link to a tool that lists all the services currently on IBM Cloud and then the various parameters you can use during instantiation in Terraform or through the IBM Cloud dashboard. For the compose set of services it seems that DB version is the main/only parameter.
https://servicedata.mybluemix.net


make bundle exec set $MANPATH

Please make bundle exec add the man/ subdirectories of all bundled gems to the $MANPATH environment variable so that we can easily look up the UNIX manual pages of our bundled gems:
bundle exec man some_gem_i_have_bundled_and_want_to_see_the_docs_on

Thanks for your consideration.

Why?
On Jan 12, 2012, at 2:29 PM, "Suraj N<EMAIL_ADDRESS>wrote:

Please make bundle exec set the $MANPATH

Reply to this email directly or view it on GitHub:
https://github.com/carlhuda/bundler/issues/1623

Because (please see this issue description on GitHub).  I accidentally pressed TAB+Enter when writing this request.  And I filled in the reasoning and updated the issue description immediately afterwards.

Submitted pull request #1624 to implement this feature.


bug fix of nonroot

Ⅰ. Describe what this PR does
bug fix of nonroot
Ⅱ. Does this pull request fix one issue?

if alluxioruntime is nonroot, databackup will fail
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #744 (4f2cdc2) into master (4d9a08d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #744   +/-   ##
=======================================
  Coverage   12.47%   12.47%
=======================================
  Files          93       93
  Lines        4296     4296
=======================================
  Hits          536      536
  Misses       3700     3700
  Partials       60       60

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 4d9a08d...4f2cdc2. Read the comment docs.


Toolbars: save toolbar layout for convenience.

I added some options to .yml file so that one can preserve the toolbar layout when he closes the window. This might help someone like me who wants pipette and misc toolbars always toggled.

Thank you for your contribution.
Sorry for the delay.

Now, reloading the script always resets the toolbar layout...

Now, reloading the script always resets the toolbar layout...

Sorry for the bug. It should be fixed in #25.


Curios compatibility for the Inventory Manager

Describe your idea
Is it possible to add inventory slots created by Curios to the Inventory Manager API?
Describe alternatives you've considered if you've any
No response
Additional context
Curios allows other mods to create additional player inventory slots. As of now (1.18), items in these slots are invisible/inaccessible to the Inventory Manager.
Linked Issues
No response

I'm willing to try a PR for this, but I can't guarantee anything


KeyError with input file

Hello,
I am running into this error:
cobra-meta -f final.contigs.fa -q test.fa -c coverage.txt -m sorted_output.sam -a idba -mink 20 -maxk 140
/home/pck/anaconda3/envs/cobra/lib/python3.8/site-packages/Bio/SeqUtils/init.py:144: BiopythonDeprecationWarning: GC is deprecated; please use gc_fraction instead.
warnings.warn(
Traceback (most recent call last):
File "/home/pck/anaconda3/envs/cobra/bin/cobra-meta", line 10, in
sys.exit(main())
File "/home/pck/anaconda3/envs/cobra/lib/python3.8/site-packages/cobra.py", line 878, in main
if header2len[line.reference_name] > 1000:
KeyError: 'k141_2210 flag=1 multi=2.0000 len=345'
k141 is the very first contig in my input file, the only output file besides the log is COBRA_end_joining_pairs.txt
log:

INPUT INFORMATION

Assembler: IDBA_UD
Min-kmer: 20
Max-kmer: 140
Overlap length: 139 bp
Read mapping max mismatches for contig linkage: 2
Query contigs: /home/pck/metagenome_seq/megahit_output/test.fa
Whole contig set: /home/pck/metagenome_seq/megahit_output/final.contigs.fa
Mapping file: /home/pck/metagenome_seq/megahit_output/sorted_output.sam
Coverage file: /home/pck/metagenome_seq/megahit_output/coverage.txt
Output folder: /home/pck/metagenome_seq/megahit_output/test.fa_COBRA

PROCESSING STEPS
[01/23] [2024/02/09 13:12:51] Reading contigs and getting the contig end sequences. A total of 3468 contigs were imported.
[02/23] [2024/02/09 13:12:51] Getting shared contig ends.
[03/23] [2024/02/09 13:12:51] Writing contig end joining pairs.
[04/23] [2024/02/09 13:12:51] Getting contig coverage information.
[05/23] [2024/02/09 13:12:51] Getting query contig list. A total of 1 query contigs were imported.
[06/23] [2024/02/09 13:12:51] Getting contig linkage based on sam/bam. Be patient, this may take long.

Hi,

It looks like your assembly was done by MEGAHIT not idba, you should change this in the commands cobra-meta -f final.contigs.fa -q test.fa -c coverage.txt -m sorted_output.sam -a idba -mink 20 -maxk 140, -a megahit -mink 21 -maxk 141
/home/pck/anaconda3/envs/cobra/lib/python3.8/site-packages/Bio/SeqUtils/init.py:144: BiopythonDeprecationWarning: GC is deprecated; please use gc_fraction instead. this is likely due to the update of Biopython, the new one remove the function of GC that COBRA needs, please install an old version of Biopython if possible, version 1.81 works.
for KeyError: 'k141_2210 flag=1 multi=2.0000 len=345', let's see if this still exists once you fix 1 and 2.

Thank you.

Silly me, forgot to change that. However, I am still getting the same error with
cobra-meta -f final.contigs.fa -q test.fa -c coverage.txt -m sorted_output.sam -a megahit -mink 20 -maxk 141.

I am running biopython 1.81 (any newer version gives the GC error even when running just cobra-meta). By the way it might just be that the newer biopython has changed GC to gc?

could you show me the exact errors you have for now after changing the commands?
importantly how did you get the bam/sam file? which software? It is likely that the contig names in the bam/sam file is too long.

Exact same error:
cobra-meta -f final.contigs.fa -q test.fa -c coverage.txt -m sorted_output.sam -a megahit -mink 21 -maxk 141
/home/pck/anaconda3/envs/cobra/lib/python3.8/site-packages/Bio/SeqUtils/init.py:144: BiopythonDeprecationWarning: GC is deprecated; please use gc_fraction instead.
warnings.warn(
Traceback (most recent call last):
File "/home/pck/anaconda3/envs/cobra/bin/cobra-meta", line 10, in
sys.exit(main())
File "/home/pck/anaconda3/envs/cobra/lib/python3.8/site-packages/cobra.py", line 878, in main
if header2len[line.reference_name] > 1000:
KeyError: 'k141_2210 flag=1 multi=2.0000 len=345'
bam/sam files are from bbmap/samtools. Rerunning all that, I noticed this error for jgi_summarize: WARNING: your aligner reports an incorrect NM field.  You should run samtools calmd! nm < ins + del: cmatch=0 nm=0 ( insert=0 + del=59 + mismatch=0 == 59) SRR9161518.2361639 2361639 length=151. So it looks like an upstream issue...

Hi again,
For me it is likely that the new version of Biopython is still in function, not any older version. Could you please check that?
The error of KeyError: 'k141_2210 flag=1 multi=2.0000 len=345' is due to that the contig headers in your fasta file are different from those in your bam/sam file. COBRA will only take k141_2210 as the name in this case, but the name in the bam/sam file is 'k141_2210 flag=1 multi=2.0000 len=345'

A-ha, it was of course the contig names! Deleting everything after the space makes it run fine. Blame megahit, nobody can deal with those contig names.
I am still getting this error for jgi_summarize  WARNING: your aligner reports an incorrect NM field.  You should run samtools calmd! nm < ins + del: cmatch=0 nm=0 ( insert=0 + del=59 + mismatch=0 == 59) SRR9161518.2361639 2361639 length=151
but that doesn't seem to influence anything.
thanks!