Map.prototype.setOptions mutates the passed in object, and options mapping is problematic

I'm submitting a ...

[x] question
[ ] any problem or bug report
[ ] feature request

If you choose 'problem or bug report', please select OS:

[x] Android
[x] iOS

Current behavior:

TLDR The Map.prototype.setOptions call mutates the passed in options object, and some of the modified values are mapped wrong, or at least I could not find any explanation for the current mapping.
Details
here's how the Map.prototype.setOptions looks currently:
Map.prototype.setOptions = function(options) {
  options = options || {};

  if (options.controls) {
    var myLocation = this.get("myLocation");
    if ("myLocation" in options.controls) {
      myLocation = options.controls.myLocation === true;
    }
    var myLocationButton = this.get("myLocationButton");
    if ("myLocationButton" in options.controls) {
      myLocationButton = options.controls.myLocationButton === true;
    }
    this.set("myLocation", myLocation);
    this.set("myLocationButton", myLocationButton);
    options.controls.myLocation = myLocation;
    options.controls.myLocationButton = myLocation;
  }
  if (options.camera) {
    if (options.camera.latLng) {
      options.camera.target = options.camera.latLng;
      delete options.camera.latLng;
    }
    this.set('camera', options.camera);
    if (options.camera.target) {
      this.set('camera_target', options.camera.target);
    }
    if (options.camera.bearing) {
      this.set('camera_bearing', options.camera.bearing);
    }
    if (options.camera.zoom) {
      this.set('camera_zoom', options.camera.zoom);
    }
    if (options.camera.tilt) {
      this.set('camera_tilt', options.camera.tilt);
    }
  }
  if (utils.isArray(options.styles)) {
    options.styles = JSON.stringify(options.styles);
  }
  exec.call(this, null, this.errorHandler, this.id, 'setOptions', [options]);
  return this;
};

I understand that the native code might require different format of the options than it's currently defined in the typings, but why is the mapping done on the passed in options object itself, shouldn't it be copied or cloned?
We reuse the options object, ie. if the user opens new pages from the page containing the map, and then comes back with back navigation (navCtrl.pop()) then the component containing the map is the same instance as before, just the map is re-inited with the same options object, and by that time, it had been mutated by the first invocation of setOptions. This hit us, when we wanted to change the styles array later, and by that time it has been replaced with a string by the line options.styles = JSON.stringify(options.styles);. Of course we were able to circumvent this by cloning the object before passing it in, but still, mutating the passed in object doesn't seem like a good practice. Is there a particular reason for it?
Also, if you check this part
  if (options.controls) {
    // some lines omitted
    options.controls.myLocation = myLocation;
    options.controls.myLocationButton = myLocation;
  }

the options.controls.myLocationButton value is replaced with myLocation, but shouldn't it be replaced with myLocationButton? Or if not, how are you supposed to actually really set the options.controls.myLocationButton?
And because of this combined with the mutation of the options, at some point we noticed that our original control properties object was modified to contain the exact opposite what we set it initially to.
Would you accept a PR to change these behaviours?
Thanks, and keep up the good work.

Thank you for your report.
I didn't notice this lines:
options.controls.myLocation = myLocation;
options.controls.myLocationButton = myLocation;

This is a bug. I will fix it.

The reason I don't pass the values to the native side directly is, many people passes the values including not properly value types such as "true".
And also keeping the option values in JS side needs for MVC.
Well, but I understand you situation.
If you're just resume the map, there is another solution.
When you leave the page, you can detach the map from browser using map.setDiv().
Then when you come back to the map page, you can attach the map with map.setDiv('map_canvas')

Thanks for you answer, and waiting for the fix.
Regarding the mutation of the options, I understand that cleaning up the data is required and that the format of the options the users have to pass in is different from the one used by the native part, but still, it would be nice that the cleaned up data was formed into a new object and not put back on the existing one. But I understand that this is how it is now, expressed my opinion, won't push it any more.
And regarding the setDiv()'s behaviour, is it correct, that we only should build up the map only once in the lifecycle of the app, and when it's reused on multiple screens in multiple viewports (ie. fullscreen on one page and third of the screen on other pages) we should only detach and reattach with setDiv('map_canvas'), right?
Also, if we do this, does the map retain it's content (markers, clusters, polygons), or should we clear() them before setDiv() and readd them after setDiv('map_canvas')? Also, can we modify the contents of the map while it's detached (between setDiv() and setDiv('map_canvas')) or does the data have to be added only when the map is attached?

The Google Maps JS API v3 has also map.setDiv().
The purpose of the setDiv() is to reuse the map without re-creating the whole map.
During the detach, the plugin does not do anything, thus all overlays (such as marker or polygon, etc...) are kept.
And the second question about manipulating the map during the detach is yes and no.
Since the map view itself is alive, the maps plugin tries to manipulate the map view, thus the map view should work.
However, the map view itself is created by Google, I can not guarantee.

This is example the map usage through provider.
https://github.com/mapsplugin/ionic-map-provider-example

Thanks for pointing out the example, good idea, we don't use it like right now, which costs us performance, and probably map api quota usage too, so we have to look into it.
Regarding the setDiv, I did not find that in the maps js api docs at https://developers.google.com/maps/documentation/javascript/reference/3.exp/map#MapOptions
Also now that you mention, is the underlying implementation of this plugin (which provides and handles the other layer with map) also a webview, or is that completely native?
I understand that I have digressed from the original question, so thank you for being this helpful. Will try to convince my company to support your work.

Ah, the setMap() for the Google Maps JS API v3.
But please forget it. It's just example for understanding.

This plugin uses only Google Maps Android API v2 and Google Maps SDK for iOS APIs, which are native APIs. This plugin does not use the Google Maps JavaScript API v3 at all.
Good thing is Google does not set any usage limit for those native APIs.
Thus, you don't need to worry about the usage limit.
This plugin just wraps those native APIs with JavaScript.
This plugin inserts a transparent view at top of cordova application.
It catches all touches, then the maps plugin detects the touch point is for native map or HTML, then pass the touch event.

Thus you manipulate the native map view through this plugin.

Since creating a native map view takes a little time, I recommend reuse the map if possible.
For this purpose, there is the map.setDiv() method.
If you don't want to use provider, simply just execute map.setDiv() and map.setDiv('map_canvas').


Add a drop down list in navbar for more categories and remove the category navbar

Categories like Mobiles, clothes, kids.
It should redirect to respective pages.

I would like to do this

CAN I GET THIS

CAN I GET THIS

Already assigned look for some other issues.

@priyanshk20 any update.....?

I m sorry, was stuck in some work.. will get it done by tomorrow


[java-8] Mutation analysis is not working for Mockito

Hi,
It seems that mutation analysis of Mockito bugs only works with Java 7.
With Java-8, the mutate target failed due to a Class not found: major.ant.MajorCompiler.
Here the commands to reproduce the issue:
$ mkdir -p /tmp/mockito-major-issue
$ cd /tmp/mockito-major-issue

## Get D4J
$ git clone https://github.com/rjust/defects4j.git
$ cd defects4j
$ git checkout java-8-support
$ ./init.sh
$ export D4J_HOME=$(pwd)
$ cd ../

## Checkout a Mockito bug
$ $D4J_HOME/framework/bin/defects4j checkout -p Mockito -v 17f -w Mockito-17f
$ cd Mockito-17f

## Run mutation-analysis
$ $D4J_HOME/framework/bin/defects4j mutation -r

Running ant (mutate)....................................................... FAIL
Buildfile: /tmp/mockito-major-issue/defects4j/framework/projects/defects4j.build.xml

check.classes.uptodate:

mutate:

compile:

gradle.compile:

ant.compile:

gradle.compile.mutants:

ant.compile.mutants:

clean:

prepare:
    [mkdir] Created dir: /tmp/mockito-major-issue/Mockito-17f/target/classes
    [mkdir] Created dir: /tmp/mockito-major-issue/Mockito-17f/target/test-classes
    [mkdir] Created dir: /tmp/mockito-major-issue/Mockito-17f/target/reports/junit

compile:
    [javac] /tmp/mockito-major-issue/Mockito-17f/build.xml:76: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

BUILD FAILED
/tmp/mockito-major-issue/defects4j/framework/projects/defects4j.build.xml:173: The following error occurred while executing this line:
/tmp/mockito-major-issue/defects4j/framework/projects/Mockito/Mockito.build.xml:133: The following error occurred while executing this line:
/tmp/mockito-major-issue/defects4j/framework/projects/Mockito/Mockito.build.xml:123: The following error occurred while executing this line:
/tmp/mockito-major-issue/Mockito-17f/build.xml:76: Class not found: major.ant.MajorCompiler

Total time: 1 second
Executed command:  cd /tmp/mockito-major-issue/Mockito-17f && ant -f /tmp/mockito-major-issue/defects4j/framework/projects/defects4j.build.xml -Dd4j.home=/tmp/mockito-major-issue/defects4j -Dbasedir=/tmp/mockito-major-issue/Mockito-17f -Dbuild.compiler=major.ant.MajorCompiler  mutate 2>&1
Cannot mutate project! at /tmp/mockito-major-issue/defects4j/framework/bin/d4j/d4j-mutation line 146.
Compilation failed in require at /tmp/mockito-major-issue/defects4j/framework/bin/defects4j line 155.

Is this somehow related to the issue/fix #34 ?
--
Cheers,
Jose

Defects4J only supports Java 7.
(Unless Mockito is some special exception.)

AFAIK the only main concern of using Java 1.8+ is that "might result in unexpected failing tests on a fixed program version". Apart from that, I do not see any reason to not be able to compile/mutate any project/bug.

José, does the mutation step for Mockito only fail on the experimental java-8-support branch or also on the master branch?

Hi @rjust,
Only on the experimental java-8-support:

master
java-8-support

Java 1.7.0_111
OK
FAIL

Java 1.8.0_111
OK
FAIL


chore: bdd-sbhg-1584443103 to 0.0.1

chore: Promote bdd-sbhg-1584443103 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


MINOR: add docs to remind reader that impl of ConsumerPartitionAssign…

https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerPartitionAssignor.java#L306
The impl of ConsumerPartitionAssignor can get configs from Consumer if it implements the Configurable interface. That is a useful feature but there is no related docs.
Maybe the better change is to make ConsumerPartitionAssignor extend Configurable directly. However, I'd like to make "small" patch first :)
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

This looks good to me.
I looked briefly at the code that calls configure(). But I was a little surprised when I ran the ConsumerPartitionAssignorTest with code coverage enabled and those particular tests aren't actually testing that functionality.
Would you be up for adding a test or two to ConsumerPartitionAssignorTest to make sure that functionality is properly covered? If not, I'm happy to add it myself.
Thanks!

@kirktrue thanks for feedback. will address it later.

@kirktrue could you take a look?

failed tests are unrelated. Will merge it later


[enhancement]: Canvas image error image should be more descriptive

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
No response
What should this feature add?
Currently when an image on the canvas does not load, a bright red box is drawn with no description.
Instead, we want to have red hashed out image with text "Image did not load" so that the user understand the error.
Alternatives
No response
Aditional Content
No response

This is now implemented in canvas v2.


github: re-add gettext package for static-analysis

Follow-up on the nice #11833 PR. The PR drop some unused package but also gettext which went unnoticed because our Makefile was unintentionally ignoring errors due to how for loops are processed by the shell.
The "Run static analysis" section of https://github.com/lxc/lxd/actions/runs/5277182345/jobs/9544871231 contains some:
/bin/sh: 2: msgmerge: not found

Which is how this was noticed.

make static-analysis calls run-parts --exit-on-error --regex '.sh' test/lint which in turns runs test/lint/i18n-up-to-date.sh which in turn calls make i18n -s which depends on make update-po which needs msgmerge.


tests/test-derivation: allow tests to be modules

tests/test-derivation: allow tests to be modules
This ended up being a bigger cleanup/refactor than expected, as I encountered a lot of cruft and redundancy.
The core motivation of these changes is to allow for more complex tests, that need access to module args such as options or config. In particular #1776.
I've removed a few functions, which may look scary at first, however I've checked for any places where they may have been exposed publicly and they appear to be 100% internal.
flake/legacyPackages: simplify makeNixvim, making it more powerful
While working in this area I was question why makeNixvim is deliberately restrictive in only accepting a config attrset.
I guess this made sense when we had a name conflict with options, but now that that's resolved I see no reason why any module form shouldn't be accepted and passed directly through to makeNixvimWithModule.
Incidentally, this makes me want to find a better name for makeNixvimWithModule, maybe makeNixvim'? Regardless, out of scope for this PR.

@mergifyio queue


[WIP] Introducing Experimental GPT Assistant Agent  in AutoGen

Why are these changes needed?
The GPT Assistant Agent is in its early stages and has been developed for experimental purposes. It's important to note that due to limitations with our current OpenAI account, testing has been somewhat restricted, and features such as asynchronous interfaces are still in the works.
Despite these limitations, the GPT Assistant Agent can be utilized in its current form as follows:
from autogen.agentchat.contrib.gpt_assistant_agent import GPTAssistantAgent
from autogen import UserProxyAgent, ossinsight_api_schema

# Setup user proxy with no code execution config
user_proxy = UserProxyAgent(
    name="Admin",
    system_message="A human. Interact with the analyst to do data analysis.",
    code_execution_config=False,
)

# Initialize GPTAssistantAgent with Open Source Project Analyst role
analyst = GPTAssistantAgent(
    name="Open_Source_Project_Analyst",
    llm_config={
        "tools": [{"type": "function", "function": ossinsight_api_schema}]
    },
    system_message="Hello, Open Source Project Analyst. You'll conduct comprehensive evaluations of open source projects or organizations on the GitHub platform, analyzing project trajectories, contributor engagements, open source trends, and other vital parameters. Please carefully read the context of the conversation to identify the current analysis question or problem that needs addressing.",
)

# Register functions for data querying
analyst.register_function(
    function_map={
        "ossinsight_data_api": ask_ossinsight,
    }
)

# Begin chat interaction
user_proxy.initiate_chat(analyst, message="How many contributors does the TiDB project have?")

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

@microsoft-github-policy-service agree

Codecov Report

Merging #616 (69f7025) into main (19ea8b8) will increase coverage by 3.82%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #616      +/-   ##
==========================================
+ Coverage   33.90%   37.73%   +3.82%
==========================================
  Files          26       27       +1
  Lines        3188     3281      +93
  Branches      719      736      +17
==========================================
+ Hits         1081     1238     +157
+ Misses       2012     1927      -85
- Partials       95      116      +21

Flag
Coverage Δ

unittests
37.73% <0.00%> (+3.88%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

autogen/agentchat/contrib/gpt_assistant_agent.py
0.00% <0.00%> (ø)

... and 4 files with indirect coverage changes

Thank you! Reviewing this rn!

The same GPTAssistant maybe in a conversation with multiple agents at the same time, we need to use a dictionary that maps agents to threads (similar to chat history), instead of using a single fixed thread.

@IANTHEREAL can you add me as a collaborator in your fork? I can push commits for my suggestions :)

@BeibinLi did you make an update to README which conflicts with the main? Also, shall we say "experimental support"?

@gagb I encountered difficulties yesterday due to rate limits, which prevented me from conducting more tests. I believe that GPT-4 Turbo supports a longer window. To determine if providing all session data would yield better results from the agent, I opted to use a single thread.    I think we can first adhere to the previous design, and I will do further verification by myself.
At the same time, I have already invite you as a collaborator. Thank you very much for your collaboration

@gagb But if the idea is to have the agent act as a service, providing multiple conversations with different contexts simultaneously. How do you think about it?
If that's the case, it indeed needs support. And I am working on it now.

@gagb @sonichi @BeibinLi  PTAL. If there are no concerns, I suggest we merge it as soon as possible. I will continue testing and further strengthening it in the meantime.

@gagb @sonichi @BeibinLi PTAL. If there are no concerns, I suggest we merge it as soon as possible. I will continue testing and further strengthening it in the meantime.

Yes lets merge it and I can document issues/improvements and we can fix them one by one faster after merge.

@gagb But if the idea is to have the agent act as a service, providing multiple conversations with different contexts simultaneously. How do you think about it?
If that's the case, it indeed needs support. And I am working on it now.

Yes, I think of the threads as very similar to chat history that AutoGen maintains, which has been pretty a useful abstraction.

The test failed: https://github.com/microsoft/autogen/actions/runs/6832796621/job/18583868663?pr=616#step:7:456
We need to fix it before merging.

@kevin666aa could you check the test error for CompressibleAgent? https://github.com/microsoft/autogen/actions/runs/6832796621/job/18583868663?pr=616

merging because the compressible agent test error doesn't seem to be introduced by this PR. @kevin666aa please fix the error in a separate PR or create an issue.

@kevin666aa could you check the test error for CompressibleAgent? https://github.com/microsoft/autogen/actions/runs/6832796621/job/18583868663?pr=616

Got it!

How does one retrieve existing GPTs created on openai website using their ids?


Variables (not ${var} renderer) and included files: order problem

Type (choose one):

Bug

NLog version:  4.2.3
Platform: .Net 3.5 / .Net 4.0 / .Net 4.5 / Mono 4 / Silverlight 4 / Silverlight 5 / Xamarin Android / Xamarin iOs
Current NLog config (xml or C#, if relevant)
<nlog>
 <include file="include.config"/>
 <variable name="var1" value="xxx" />
 </nlog>

include.config uses ${var1}

What is the current result? Crash (Exception, NLogConfigurationException)

What is the expected result? No crash

Are there any work arrounds? yes

Is there a version in which it did worked? yes: ```xml

OR use `${var:var1}`

This is by design after testing. The order is important as you could overwrite variables.


Data Factory Operations

It appears that factories/pipelines are not removed during a complete deployment.

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

ID: 39a7b827-35ff-060d-55ea-591d6d168025
Version Independent ID: 506704c2-309f-cff4-6c75-ad42d44a7dfb
Content: Complete mode deletion - Azure Resource Manager
Content Source: articles/azure-resource-manager/templates/deployment-complete-mode-deletion.md
Service: azure-resource-manager
Sub-service: templates
GitHub Login: @mumian
Microsoft Alias: jgao

@JFolberth
Thank you for bringing this to our notice. We will look into this issue and will get back to you.

@JFolberth - thanks for this feedback. I have the updated the article with that addition. The update will get published later today.
#please-close


BaseExperiment.circuits should be allowed to return Iterable

What is the expected behavior?
The return type of BaseExperiment.circuits should be Iterable instead of List. This would increase programming convenience.

This increasing convenience seems quite subjective. What is the main benefit of supporting this when we have to convert to a list pretty much straight after generation? The developer could just return list(iter_expr) as the last line of their circuit function for example if they wanted to use a generator expression inside it

When I say that it increases convenience, I mean for the user (consumer of this class), not the developers of this library, who indeed may need to add some extra calls to list that previously were not needed. It definitely increases convenience for somebody who is simply defining their own subclass of BaseExperiment and then calling its run method.

What is the main benefit of supporting this when we have to convert to a list pretty much straight after generation?

I'm not sure sure what you mean here. The user usually does not need to call the circuits method directly. Usually they would just call run.

The developer could just return list(iter_expr) as the last line of their circuit function for example if they wanted to use a generator expression inside it

Indeed. But it is more convenient to not have to return a list. The typical use case is to write a generator function that yields the circuits. Currently this would require circuits to call that function in turn and convert it to a list. This is admittedly a minor inconvenience, but I don't see any reason to subject the user to it.

We decided on an API of returning a list. Lists have a defined length when general iterables do not. All of the other qiskit functions like transpile, run, assemble take lists of circuits not general iterables.
I don't think the minor convenience this change adds is worth possible bugs and complications in internal code for forgetting to convert iterable to a list in some locations. If you want to work with iterables in your circuits function feel free, but respect the API and just return list(iterable) at the end of your circuit function.

That's fine. The last argument I'll make in favor of this is that if the internal experiment code is rewritten using this, it would likely be more efficient and easier to read. For example, in the draft PR https://github.com/Qiskit/qiskit-experiments/pull/665 I eliminated an additive quadratic-time overhead in the randomized benchmarking experiment that arises from repeatedly concatenating lists. That overhead should probably still be eliminated even if we close this issue. Also, the new code is simpler than the old.


First PR Challenge

Created my custom profile card from issue #2

Hey there are some conflicts, could you please check your code once.

Fixed the conflict, hopefully. Please let me know if there are any issues. Thank you.

Thank you


Fixing ArrayAdapter optgroup children data binding

ArrayAdapter.convertToOptions fails to create item data for optgroup children, not binding it to the select options.
This results in a bug, where the passed data element to select(data) is not initialized and normalized, thus element is null and id is an integer. Therefore the select function can't find the corresponding <option> while comparing an integer id with string <option>[value] and creates duplicate options when selecting optgroup child options, which was meant for adding search tags:
ArrayAdapter.prototype.select = function (data) {
  var $option = this.$element.find('option').filter(function (i, elm) {
    return elm.value == data.id.toString();
  });

  if ($option.length === 0) {
    $option = this.option(data);

    this.addOptions($option);
  }

Here's a polyfill for the bugfix
$.fn.select2.amd.require(['select2/data/array'],
  function (ArrayAdapter) {
    let __super__convertToOptions = ArrayAdapter.prototype.convertToOptions;
    ArrayAdapter.prototype.convertToOptions = function (data) {
      var self = this;

      const $options = __super__convertToOptions.call(this, data);
      for(const $option of $options) {
        (function applyChildData(option) {
          if (option.children) {
            option.children.forEach(function(child, index, children) {
              var $child = $($(option.element).children()[index]);
              children[index] = self.item($child);
              applyChildData(children[index]);
            });
          }
        })(self.item($option));
      }
      return $options;
    }

    ArrayAdapter.prototype.select = function (data) {
      if (!data.element) {
        this.addOptions(this.option(data));
      }

      ArrayAdapter.__super__.select.call(this, data);
    };
  }, null, true);

This pull request includes a

[X] Bug fix
[ ] New feature
[ ] Translation

The following changes were made

Creating a data cache for each optgroup child (recursively for nested optgroups) and binding it correctly to its corresponding select option
simplifying the search if there exists an option corresponding to the data passed to select, also making it available for optgroups and not only options.

@5andr0 does #6239 (recently-merged) resolve this problem?  The approach taken in that was different, but it seems to address a similar scenario.

@5andr0 does #6239 (recently-merged) resolve this problem? The approach taken in that was different, but it seems to address a similar scenario.

Could be related, however I have zero time any time soon to confirm. But I think it's an easy test. Just see if with the new merged pull request while using the array adapter produces duplicate entries when selecting and deselecting optgroup child items


container run failure in kubernetes pod

Looking to run nerdctl in a kubernetes pod, specifically to run containers on the host. I've successfully been able to run all basic commands other than container run, which include
container exec
container ls
container rm
container stop

When I execute container run at any debug level I only see the following error:
FATA[0000] operation not permitted

I've mounted the following host paths to the pod
/run/containerd
/var/lib/containerd
/var/lib/nerdctl
/tmp

I've attached the strace of container run in the pod -- here is a snippet of it that I think may point to the issue:
rt_sigreturn({mask=[]})                 = 1
geteuid()                               = 0
geteuid()                               = 0
openat(AT_FDCWD, "/proc/self/uid_map", O_RDONLY|O_CLOEXEC) = 3
epoll_ctl(4, EPOLL_CTL_ADD, 3, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=723666648, u64=140390319671000}}) = -1 EPERM (Operation not permitted)
read(3, "         0          0<PHONE_NUMBER>"..., 4096) = 33
close(3)                                = 0
statfs("/sys/fs/cgroup", {f_type=TMPFS_MAGIC, f_bsize=4096, f_blocks=32640722, f_bfree=32640722, f_bavail=32640722, f_files=32640722, f_ffree=32640706, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV|ST_NOEXEC|ST_RELATIME}) = 0

strace_container_run.log
Appreciate any pointers for getting this to run successfully.

You need securityContext.privileged

That did it  😃


Wait cursors for Case box search aren't correct

The case box search seems to have various phases - and on first startup (i.e when the database/indexes are cold) - takes a bit of time. Which is all fine - it doesn't need to be super high performance. But as per the attached movie - it is not clear to the user that the search is still in progress as this happens. Not sure what sort of wait cursors are appropriate and where (because it definitely seems to go through multiple phases) - but needs sorting out in some way.
https://github.com/umccr/elsa-data/assets/1973827/c744279f-e849-4e1a-944e-998f484602a3

We can give it to you - its the one setup for AG demo (Its all synthetic fastqs) - but tbh - I've seen the exact same on our 10g and 10f ones - so I don't think it is the number of entries entirely. I think its more that when running EdgeDb locally its speed is substantially faster than when deployed to AWS

I think possibly adding some artificial sleeps into the backend APIs for getcases and set selected etc would possibly simulate this just as well locally. We might do a different step on actually optimising the queries - this is more assuming they are slow..

I might take this opportunity to move the Cases stuff from REST to TRPC


Add ssl dependency

We need libssl on a fresh Ubuntu system.
Also fixed some issues with indentation that newer versions of flake8 get upset about.

@dcolligan --- review me!

much more comprehensive than my PR!
+1


[QST] export model to Torchscript

❓ Questions & Help
Details

I am trying to export the trained model  to Torchscript with the following script bu I got  an error:
import torch
traced_model = torch.jit.trace(model, batch_input)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_2414/1419015779.py in <module>
      1 # Creating the trace
      2 import torch
----> 3 traced_model = torch.jit.trace(model, batch_input)

/opt/conda/lib/python3.8/site-packages/torch/jit/_trace.py in trace(func, example_inputs, optimize, check_trace, check_inputs, check_tolerance, strict, _force_outplace, _module_class, _compilation_unit)
    733
    734     if isinstance(func, torch.nn.Module):
--> 735         return trace_module(
    736             func,
    737             {"forward": example_inputs},

/opt/conda/lib/python3.8/site-packages/torch/jit/_trace.py in trace_module(mod, inputs, optimize, check_trace, check_inputs, check_tolerance, strict, _force_outplace, _module_class, _compilation_unit)
    950             example_inputs = make_tuple(example_inputs)
    951
--> 952             module._c._create_method_from_trace(
    953                 method_name,
    954                 func,

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _slow_forward(self, *input, **kwargs)
   1037                 recording_scopes = False
   1038         try:
-> 1039             result = self.forward(*input, **kwargs)
   1040         finally:
   1041             if recording_scopes:

/workspace/TF4Rec/transformers4rec/torch/model/base.py in forward(self, inputs, training, **kwargs)
    520         outputs = {}
    521         for head in self.heads:
--> 522             outputs.update(head(inputs, call_body=True, training=training, always_output_dict=True))
    523
    524         if len(outputs) == 1:

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _slow_forward(self, *input, **kwargs)
   1037                 recording_scopes = False
   1038         try:
-> 1039             result = self.forward(*input, **kwargs)
   1040         finally:
   1041             if recording_scopes:

/workspace/TF4Rec/transformers4rec/torch/model/base.py in forward(self, body_outputs, training, call_body, always_output_dict, **kwargs)
    386
    387         if call_body:
--> 388             body_outputs = self.body(body_outputs, training=training)
    389
    390         for name, task in self.prediction_task_dict.items():

/workspace/TF4Rec/transformers4rec/config/schema.py in __call__(self, *args, **kwargs)
     48         self.check_schema()
     49
---> 50         return super().__call__(*args, **kwargs)
     51
     52     def _maybe_set_schema(self, input, schema):

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _slow_forward(self, *input, **kwargs)
   1037                 recording_scopes = False
   1038         try:
-> 1039             result = self.forward(*input, **kwargs)
   1040         finally:
   1041             if recording_scopes:

/workspace/TF4Rec/transformers4rec/torch/block/base.py in forward(self, input, training, **kwargs)
    149
    150             elif "training" in inspect.signature(module.forward).parameters:
--> 151                 input = module(input, training=training)
    152             else:
    153                 input = module(input)

/workspace/TF4Rec/transformers4rec/config/schema.py in __call__(self, *args, **kwargs)
     48         self.check_schema()
     49
---> 50         return super().__call__(*args, **kwargs)
     51
     52     def _maybe_set_schema(self, input, schema):

/workspace/TF4Rec/transformers4rec/torch/tabular/base.py in __call__(self, inputs, pre, post, merge_with, aggregation, *args, **kwargs)
    377
    378         # This will call the `forward` method implemented by the super class.
--> 379         outputs = super().__call__(inputs, *args, **kwargs)  # noqa
    380
    381         if isinstance(outputs, dict):

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _slow_forward(self, *input, **kwargs)
   1037                 recording_scopes = False
   1038         try:
-> 1039             result = self.forward(*input, **kwargs)
   1040         finally:
   1041             if recording_scopes:

/workspace/TF4Rec/transformers4rec/torch/features/sequence.py in forward(self, inputs, training, **kwargs)
    250
    251         if self.masking or self.projection_module:
--> 252             outputs = self.aggregation(outputs)
    253
    254         if self.projection_module:

/workspace/TF4Rec/transformers4rec/config/schema.py in __call__(self, *args, **kwargs)
     48         self.check_schema()
     49
---> 50         return super().__call__(*args, **kwargs)
     51
     52     def _maybe_set_schema(self, input, schema):

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py in _slow_forward(self, *input, **kwargs)
   1037                 recording_scopes = False
   1038         try:
-> 1039             result = self.forward(*input, **kwargs)
   1040         finally:
   1041             if recording_scopes:

/workspace/TF4Rec/transformers4rec/torch/tabular/aggregation.py in forward(self, inputs)
     37         inputs: TabularData,
     38     ) -> torch.Tensor:
---> 39         self._expand_non_sequential_features(inputs)
     40         self._check_concat_shapes(inputs)
     41

/workspace/TF4Rec/transformers4rec/torch/tabular/base.py in _expand_non_sequential_features(self, inputs)
     51     def _expand_non_sequential_features(self, inputs: TabularData) -> TabularData:
     52         inputs_sizes = {k: v.shape for k, v in inputs.items()}
---> 53         seq_features_shapes, sequence_length = self._get_seq_features_shapes(inputs_sizes)
     54
     55         if len(seq_features_shapes) > 0:

/workspace/TF4Rec/transformers4rec/torch/tabular/base.py in _get_seq_features_shapes(self, inputs_sizes)
     71         if len(seq_features_shapes) > 0:
     72             if len(set(seq_features_shapes.values())) > 1:
---> 73                 raise ValueError(
     74                     "All sequential features must share the same shape in the first two dims "
     75                     "(batch_size, seq_length): {}".format(seq_features_shapes)

ValueError: All sequential features must share the same shape in the first two dims (batch_size, seq_length): {'item_id-list_seq': (tensor(384), tensor(20)), 'category-list_seq': (tensor(384), tensor(20))}

Motivation
I need to export model as torchscript to be able to test if I can serve it to Triton with Torch backend.

This is a showstopper for me currently. Figured I'd mention it, in case you prioritize based on percieved usefulness to end users.

Just to annoy you guys further with notifications:
The major problems for tracing (at least in the case of this tutorial) is that

The dictionary at the output is not simply Dict[str, torch.Tensor] that would be fine, but it has mixed items. Most entries are str, torch.Tensor, but one is an  str, List[Any](untyped) and str, Dict[Any, Any](untyped). Are these strictly nescessary, since Huggingface transformers are traceable by themselves?
TabularAggregation._get_seq_features_shapes and  TabularAggregation._check_concat_shapes are not traceable because of if conditions and usage of sets. Parts of this code seems like it's just trying to be more descriptive to the user about where an error lies, and would crash later anyways if it was violated?

Entirely removing these codepaths makes the above tutorial be traceable with torch.jit.trace(model, batch, strict=False). I'm sure there's some reason you're keeping parts of that code at least, so I'll leave it to you guys to figure out how to best adapt to that. Just wanted to mention the easiest way to actually trace a working model.
I really would love it if this was supported :slightly_smiling_face:

@NegatioN thanks for bringing this up. We will be looking into that.


Add support for with_request_body in SecurityPolicy.spec.extAuth

Envoy supports sending the full request body to the external authorization server via the with_request_body filter configuration. Do you think that it is possible to expose such feature on the SecurityPolicy.spec.extAuth api?
My use case specifically relates to LLM model serving with an OpenAI compatible server. There you receive a request JSON body with a model field. I would like to have an opa-envoy authz server that is able to authorize requests based on the user identity and the model requested.
Relevant Links:

https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_authz_filter#configuration-examples

cc @zhaohuabing

@mjf-89 I think this is a reasonable request and should be a fairly simple change.  Would you like to take a shot at implementing it, or waiting for someone from the community to pick it up?

Can't this be solved with ext proc?

@zhaohuabing I can take a shot at it, this is my first time so I'll probably need some pointers in case I'm lost. Where should I seek help? On the slack channel?
@arkodg my use case can be definitively solved with an extproc but that would require writing a custom extproc dealing with opa which would not be needed with the extauth protocol. Indeed OPA already provides a grpc server that implement the extauth protocol: https://www.openpolicyagent.org/docs/latest/envoy-introduction/

I can take a shot at it, this is my first time so I'll probably need some pointers in case I'm lost. Where should I seek help? On the slack channel?
If we agreed on the extAuth approach, you can start by creating an API PR first, then a follow-up PR for Gateway API translation, xDS translation, and tests. The frameworks of translations are already in place, so the modification should be straightforward.

API: https://github.com/envoyproxy/gateway/blob/main/api/v1alpha1/ext_auth_types.go
Gateway API translation: https://github.com/envoyproxy/gateway/blob/8f0131c50dcaaafae0c30a1f98eeb6a1ed7aee8d/internal/gatewayapi/securitypolicy.go#L808
xDS translation: https://github.com/envoyproxy/gateway/blob/8f0131c50dcaaafae0c30a1f98eeb6a1ed7aee8d/internal/xds/translator/extauth.go#L97

@mjf-89 my suggestion would be to use an ext proc server https://gateway.envoyproxy.io/docs/tasks/extensibility/ext-proc/ for message transformation and enriching a header based on the body, this is temporary and can be removed once this is supported natively https://github.com/envoyproxy/envoy/issues/35783

@arkodg thanks, that indeed seems a very good suggestion, I definitely misunderstood your first comment.
However I have to say that design-wise I don't see the point of not exposing all the configuration options of the extensions.filters.http.ext_authz.v3.ExtAuthz proxy api to the gateway via the SecurityPolicy.spec.extAuth.
Is there any reason to keep the SecurityPolicy.spec.extAuth so dry?

there's a short term cost to developing this as well as a long term cost to maintaining it as well as additional complexity it adds to the project. This also makes documentation complex since the project will now need to explain the pros/cons of providing two ways to solve the same use case.
Having said this, if there's a subset of users, who are migrating to Envoy Gateway and have already implemented the functionality in ext auth, it does make sense to add native support for it . Lets keep this issue open and see if others face the same issue
The current workarounds are

Implement body inspection functionality using ext proc https://gateway.envoyproxy.io/docs/tasks/extensibility/ext-proc/
Use EnvoyPatchPolicy to enable with_request_body https://gateway.envoyproxy.io/docs/tasks/extensibility/envoy-patch-policy/

We are currently blocked due to the lack of a feature to verify a signature placed in the request body against an external gRPC authentication server. The proposed workarounds don't seem viable for production use, as noted in the documentation.
The ability to handle such signature verification appears to be a critical requirement for many use cases, including ours. I don’t understand the reluctance to implement this functionality, which seems essential.
Thank you for your attention to this matter.

looks like there any many users who'd like this to be implemented, so adding the help wanted tag to this issue


feat(vacuum): add brigade-vacuum

This cleans old builds.
A new CronJob is added that runs the brigade-vacuum every hour. By default, the vacuum cleans up any builds older than 30 days. It removes all of the pods and secrets associated with expired builds.

Okay, I think I fixed all the issues, including the weird formatting.


deliveryAttemptTimestamp field is not in the documented format

This page says the following is what should be recieved:
"deliveryAttemptTimeStamp": "2020-09-18T00:22:20.2855749Z",
However, every response that I get actually using the product is not in this format, it is in the following format:
"deliveryAttemptTimestamp": "2023-07-07T11:41:59.077+00:00"
Is this documentation incorrect here or is there an issue with the product?
Related:  The product seems to actually be doing this wrong.  It is giving me the time in UTC (the event happened 11:41:59 UTC, 7:41:59 eastern time), but the given format is not parsed as a UTC value.

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

ID: 9c23fbd7-423a-c295-d33c-23c562d95744
Version Independent ID: 981fa690-7bac-8e56-e8f0-aa5b8b44cb85
Content: Azure Communication Services - Email events - Azure Event Grid
Content Source: articles/event-grid/communication-services-email-events.md
Service: event-grid
GitHub Login: @anmolbohra97
Microsoft Alias: anmolbohra

@DonThompson
Thanks for your feedback! We will investigate and update as appropriate.

@DonThompson As per Rest API: deliveryAttemptTimestamp, the format is date-time and the example show the format you have described.
We have made the changes and sent to author for review and update. Thanks for the feedback.

We have made the changes and it will be published soon.


[Feature]: make dind dockerfile

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
please make docker in docker dockerfile to easily install coolify to cloud containers as serverless .
Why should this be worked on?
please make docker in docker dockerfile to easily install coolify to cloud containers as serverless .

Can you please elaborate on what would be the outcome of this request?
I have never tested Coolify to run on a serverless environment.

Due to inactivity, I'm closing this issue. However, if the problem persists, please reopen the issue. Thanks!


Doesn't work for tensorflow 1.3

Hi
@bshao001
@ArashHosseini
My stack comprises of:
Centos 6.9
Anaconda3
Tensorflow 1.3.
Pycharm IDE
CPU RAM-16
As you mentioned (It works only with Tensor-flow 1.4, not any earlier releases because the tf.data API used here was newly updated in TF 1.4.)I have gone through this.But please suggest me necessary changes for TENSOR-FLOW 1.3.
Even for ubuntu how to change modifications to Tensorflow 1.3.
I am waiting for your reply.Please respond Quickly.
Thanks in advance

"Please make sure you have the correct TensorFlow version. It works only with TensorFlow 1.4, not any earlier releases because the tf.data API used here was newly updated in TF 1.4."

And this will take forever on CPU btw..like the difference for me was astonishing

i would recommend to go with python3.5 and tf 1.4 becasue of 64 bit env, pip3 to get the gpu_tf_wheel working on your platform

@DeepLearningBot @abhishekkritarth Thanks for answering the question for me.
@abhishekkritarth The existing implementation only supports tensorflow 1.4. However, you can make easy changes to make it work for tensorflow 1.3. This implementation was upgrade from supporting 1.3 to support 1.4 a few weeks ago. The changes made were only in tokenizeddata.py and botpredictor.py. You have two references for making this change:

https://github.com/tensorflow/tensorflow/blob/r1.4/tensorflow/contrib/data/README.md. Follow this releases notes and making opposite changes.
Check the very recent commits for these two files on this git. You might need to scroll to the very bottom to find the changes for the files.


Discontinued ?

Just wondering if this plugin is discontinued as there hasn't been any updates in 6 months and there are a lot of deprecations with 1.13.x.. ?

Hi Freddy,
It's not discontinued but the app we are using it in hasn't been updated
yet. It shouldn't be hard to fix the deprecations and you are welcome to
submit a pull request.
Cheers,
Jonathan
On 8 December 2015 at 10:47, Freddy<EMAIL_ADDRESS>wrote:

Just wondering if this plugin is discontinued as there hasn't been any
updates in 6 months and there are a lot of deprecations with 1.13.x.. ?
—
Reply to this email directly or view it on GitHub
https://github.com/devon-capital/dc-tabs/issues/3.

Hi there, thanks, I gave it a go but had some problems fixing the "You have changed *** twice in a single render" deprecation warnings. But glad to know the project has not been abandoned.
I'll just wait for an update or a pull request from someone else :+1:
Cheers,
Fred


$page.form isn't updated with form action

Describe the bug
I'm having issues accessing the 'form' data returned from server side form actions
Reproduction
https://github.com/evan-thurston/form-action-returns
Logs
No response
System Info
System:
    OS: Windows 10 10.0.19044
    CPU: (8) x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
    Memory: 3.38 GB / 15.89 GB
  Binaries:
    Node: 16.17.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 9.6.5 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (112.0.1722.58)
    Internet Explorer: 11.0.19041.1566
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.0.0
    @sveltejs/kit: ^1.5.0 => 1.15.2
    svelte: ^3.54.0 => 3.58.0
    vite: ^4.2.0 => 4.2.1

Severity
serious, but I can work around it
Additional Information
No response

@evan-thurston the callback you return from your handleSubmit must call the applyAction function or the update function or manually update the page with the results.
Updated the docs to make that a bit clearer hopefully.

Going to close this as use:enhance is already covered in the docs and the tutorial:

https://kit.svelte.dev/docs/form-actions#progressive-enhancement-use-enhance
https://learn.svelte.dev/tutorial/customizing-use-enhance


Assignment 2 - Pre trained weights

Hi Anush,
Just a small clarification needed.
Are we allowed to use the pre-trained weights for the Inception V3 network (weights for imagenet dataset are available in keras) and do transfer learning -or- should we just use the architecture and train the model from scratch.

@progvasu I would highly recommend that you use the pre-trained ImageNet weights available in Keras. Training for scratch would be a nightmare without enough GPU computation.

Thanks! @goodboyanush will use the pre-trained weights

@progvasu  Please check Issue #6


Simplify matrix views

This greatly simplifies the logic and html on matrix_box pages.
I'd also like to get rid of the matrix_table layout (now called matrix_grid) because it is now superfluous, but i seem to need the logic of it for some reason on reuse_image and remove_image templates.
If i try to bypass the call to render(layout: "shared/matrix_grid", locals: {objects: @object.images}) do |image| and directly render the block of html by iterating over each image, like this:
  @object.images.each do
    ...an html block with the image and a checkbox...
  end

... the loop outputs the images correctly, but then adds a "proxy" of the first image record at the end of the block, which is not intended, and rightly flagged as unsafe_html.
Suggestions welcome, it would be nice to solve this now, but not really necessary. This is already a big improvement on the current HTML for matrix box layouts, eliminating many useless divs.

Coverage remained the same at 92.632% when pulling 6e77d0fc0c7965a041390ddcc73727f923a50d24 on nimmo-views-matrix into 0a1e96de2b078dd2061e02bf32417a5ac3af6bbd on master.

@JoeCohen This is ready to go, too.

Deployed.

Oops, looks like I'm late to the party.  I saw the review request and started, not realizing it had already been deployed.  Sorry!

The comment was great. Now Nimmo can fix it.
On Wed, Sep 28, 2022 at 12:28 PM Jason Hollinger @.***>
wrote:

Oops, looks like I'm late to the party. I saw the review request and
started, not realizing it had already been deployed. Sorry!
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1153#issuecomment-1261372667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFDJCKWYRW77X4SLR6DWASL5ZANCNFSM6AAAAAAQWI3ZWU
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Are you intending to leave the TODO
in  app/assets/javascripts/box_resizer.j?
On Tue, Sep 27, 2022 at 7:07 PM codeclimate[bot] @.***>
wrote:

Code Climate has analyzed commit bd388b0
https://github.com/MushroomObserver/mushroom-observer/commit/bd388b0b739edb8288e5a2908e4d7afa42b7edc1
and detected 1 issue on this pull request.
Here's the issue category breakdown:
Category Count
Bug Risk 1
View more on Code Climate
https://codeclimate.com/github/MushroomObserver/mushroom-observer/pull/1153
.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1153#issuecomment-1260295779,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFCNVPCDEFD53TF7YNLWAOR5PANCNFSM6AAAAAAQWI3ZWU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes... Hoping to move to bootstrap 4 within the month. The resizer script is unnecessary with display: flex.


port refused

I'm new to kubernetes and docker, Prerequisites are all installed, when running the first block of code for k3d local setup got this error:
INFO[0000] Prep: Network
INFO[0000] Network with name 'k3d-dandelion-testnet' already exists with ID 'f39c6b11ec508d96c3fd62b77f80ed755642abc22288f64bbb98e5bdb0e6d59e'
INFO[0000] Created volume 'k3d-dandelion-testnet-images'
INFO[0001] Creating node 'k3d-dandelion-testnet-server-0'
INFO[0001] Creating LoadBalancer 'k3d-dandelion-testnet-serverlb'
INFO[0001] Starting cluster 'dandelion-testnet'
INFO[0001] Starting servers...
INFO[0001] Starting Node 'k3d-dandelion-testnet-server-0'
INFO[0008] Starting agents...
INFO[0008] Starting helpers...
INFO[0008] Starting Node 'k3d-dandelion-testnet-serverlb'
ERRO[0010] Failed to start node 'k3d-dandelion-testnet-serverlb'
WARN[0010] Failed to start helper k3d-dandelion-testnet-serverlb: Error response from daemon: driver failed programming external connectivity on endpoint k3d-dandelion-testnet-serverlb (55a2017ff2e40055c9b1dd1a0f2d342382113a012cefb832d28ad66668a144b1): Bind for <IP_ADDRESS>:80 failed: port is already allocated
WARN[0010] 1 non-critical (agent or helper) nodes failed to start. You may want to start them manually.
INFO[0010] (Optional) Trying to get IP of the docker host and inject it into the cluster as 'host.k3d.internal' for easy access
WARN[0011] Failed to add extra entry '<IP_ADDRESS> host.k3d.internal' to /etc/hosts in node 'k3d-dandelion-testnet-serverlb'
INFO[0012] Successfully added host record to /etc/hosts in 1/2 nodes and to the CoreDNS ConfigMap
INFO[0012] Cluster 'dandelion-testnet' created successfully!
INFO[0012] --kubeconfig-update-default=false --> sets --kubeconfig-switch-context=false
INFO[0013] You can now use it like this:
kubectl config use-context k3d-dandelion-testnet
kubectl cluster-info
Switched to context "k3d-dandelion-testnet".
The connection to the server <IP_ADDRESS>:58349 was refused - did you specify the right host or port?

My bad, my docker had a server running running at <IP_ADDRESS>:80 all good.


the feature use BatchNorm1d but amsoftmax weight use l2_norm will this difference match the paper request?

why feature not use l2_norm as weight?

why feature not use l2_norm as weight?

Hi, thank you for your question. The implementation is actually same with the paper.


Normalization of brain images with inflated ventricles

High experts,
We are performing ANTS transformation of T1-weighted brain MRI from subject space to standard MNI space. While checking the transformation, in the back projection, we observe that gray matter tissue has moved into the ventricles (see attached snapshots)

The diffeomorphic mapping employed was SyN and affine transformation. We have employed either CC or MI as fitness metric, and we have varied the radius, obtaining a better result with larger radius (>5). However we always have issues within the ventricles.
What would you reccomend us to face this?
This is the code line we were employing.
ANTS 3 -m CC[$templateName,$movingIM,1,7] -t SyN[0.25] -r Gauss[3,0] -o $normAnatOutDir/T1_fov_denoised -i 100x100x100x30 --use-Histogram-Matching  --number-of-affine-iterations 10000x10000x10000
Any advide will be really appreciated.
Thanks
José

hi jose
i think this question needs to be clearer.  the picture doesn't tell us
much except that the registration is largely in the right zone.  i doubt
that gray matter is, as you say, "moving into the ventricles".  the
diffeomorphic transformation prevents that.  you may be seeing some
interpolation artifacts or something else.
please try to clarify your question.
brian
On Mon, Apr 13, 2015 at 11:32 AM, dicaincadi<EMAIL_ADDRESS>wrote:

High experts,
We are performing ANTS transformation of T1-weighted brain MRI from
subject space to standard MNI space. While checking the transformation, in
the back projection, we observe that gray matter tissue has moved into the
ventricles (see attached snapshots)
[image: screen shot 2015-04-08 at 14 18 29]
https://cloud.githubusercontent.com/assets/11926613/7118962/8d2fc9cc-e1d0-11e4-9244-ddfc60ec94af.png
The diffeomorphic mapping employed was SyN and affine transformation. We
have employed either CC or MI as fitness metric, and we have varied the
radius, obtaining a better result with larger radius (>5). However we
always have issues within the ventricles.
What would you reccomend us to face this?
This is the code line we were employing.
ANTS 3 -m CC[$templateName,$movingIM,1,7] -t SyN[0.25] -r Gauss[3,0] -o
$normAnatOutDir/T1_fov_denoised -i 100x100x100x30 --use-Histogram-Matching
--number-of-affine-iterations 10000x10000x10000
Any advide will be really appreciated.
Thanks
José
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTs/issues/178.

will reopen issue if the user has further input.


Add minimum word length parameter to constrain hyphenation

Adds an ignoreWordsShorterThan parameter to the initializer and a softHyphenateByWord(minimumWordLength:withLocale:) method that does not apply hyphenation to words that are less than the minimum word length.
Resolves #1

Left one optional comment, feel free to ignore. I'll release a new update as soon as this is merged.


Generated Playlist View

User Story
As a user, I would like to view a playlist once it is generated so that I can see what contents the playlist holds without having to switch to the Spotify app (thus reducing context switching).
Detailed Description
Once a playlist has been created (either through the slider method or through the use of a mood (and thus its associated parameters), it ought to be displayed to the user on the page. The view of the generated playlist should include:

[ ] An embedded view of the Spotify playlist
[ ] Display of the associated mood (if there is one) that this playlist was generated from

Acceptance Criteria

[ ] Given that a playlist has successfully been generated, then I can see this playlist and its associated tracks on the webpage
[ ] Given this playlist was generated from a mood, then the mood this playlist was generated from is displayed on the page as well

Same as #56


Android build failed with React Native 0.75 and new architecture

Bug description:
Cannot build with React Native 0.75 and new architecture enabled
To Reproduce:
Expected behavior:
Screenshots/Videos:

Environment:

OS: MacOS
OS version: 14.6.1 (23G93)
react-native version: 0.75
react-native-webview version:

anyone? Is there any way to solve this issue?!

I solved this problem by adding a couple of lines of code.
node_modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java
@Override
public void setRefreshControlLightMode(RNCWebViewWrapper view, boolean isLightMode) {}
@Override
public void setAllowsPictureInPictureMediaPlayback(RNCWebViewWrapper view, boolean isLightMode) {}

It seems simple omitted overriding issue bug critical.

should be fixed by a PR I just merged


userbuttons not executing script

Hi I created the userbuttonsfile with
Luz, leds_uno.sh,btn btn-danger btn-lg,style="width:10%" autofocus
leds_uno.sh is a shell script chmoded 777 and www-data as user/group and located in macros directory when I click the button I got
<IP_ADDRESS> - - [20/Aug/2020:20:06:56 +0200] "GET /cmd_pipe.php?cmd=sy%20%20leds_uno.sh HTTP/1.1" 200 205
But it does not execute, any suggestions ?

I have just done a quick test and it seems to be working O.
Can you check the log under schedule after you have done this?
I get
{2020/08/23 15:55:49} Executing macro /var/www/macros/button1.sh &
Also doing a ls -l in the macros folder should verify the script is owned by www-data and has execution rights.
I have just noticed you have 2 %20 in the command line. I suspect you may have a space in your userbuttons file in the script parameter. Try removing that.

I am getting the same error:
<IP_ADDRESS> - - [02/Apr/2021:18:09:55 +0200] "GET /html/cmd_pipe.php?cmd=sy%20neopixel_start.sh HTTP/1.1" 200 204 <IP_ADDRESS> - - [02/Apr/2021:18:09:56 +0200] "GET /html/cmd_pipe.php?cmd=sy%20neopixel_stop.sh HTTP/1.1" 200 204
However, my userbuttons file does not contain a space in the script parameter.


In narrow author & date should left align

Currently there's ~80px left margin.

Also notice we lose part of the G+ social logo

Dropped the author on mobile


build(Environment): Set it can be used in cross environment

Set it can be used in cross environment

thanks for contribution, i hope it's work on windows


Only sanitize from text/html parts

Hyperlinks surrounded by <> are wrongly stripped from the result.
Example: <https://my.url>
Once again, thanks so much Proxmox. Love that you can't just give the URL in the text/plain section without needlessly enclosing it!

Fixed in d6789fd2191281a7ea13bd160f9c82560bb416e2


[process-agent] Refactor status build and add it to core agent

What does this PR do?
Currently process-agent exposes an agent/status endpoint that is used only to fetch the core status from the main pkg/status library. It's up to the ./process-agent status process to fetch the core status, fetch the expvars, build the final status and render the status template.

This PR refactors this architecture to encapsulate the status build inside /agent/status. By doing so, ./process-agent status needs only to call the endpoint and render the status template. It also makes it easier to reuse the same endpoint in the core agent to include process-agent in its status output.

This PR introduces the following main changes:

Move status build logic to a dedicated pkg/process/util/status.go file
cmd/process-agent/api uses the GetStatus build function from  pkg/process/util
cmd/process-agent/app fetches the status from the process-agent API server
core agent fetches the process-agent status from the process-agent API server
Move process-agent status template to pkg/status so it can be used by both core and process agents.

Motivation
Add status command to process-agent and improve agent flare.
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
The following tests need to be performed on a linux host, docker, k8s cluster, windows and macOS.
Set the following settings on the datadog.yaml file
process_config:
  enabled: "disabled"
  process_discovered:
    enabled: false

Run
./agent status

and
./process-agent status

Make sure that the output contains a message saying that the process-agent is not running or is unreachable.
Update datadog.yaml to enable the process-agent
process_config:
  enabled: "true"
#  process_discovered:
#    enabled: false

Re-run
./agent status

and
./process-agent status

Make sure that we're showing relevant and correct runtime information for process-agent.
Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[x] The appropriate team/.. label has been applied, if known.
[x] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[x] Changed code has automated tests for its functionality.
[x] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[x] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[x] If applicable, the need-change/operator and need-change/helm labels have been applied.
[x] If applicable, the config template has been updated.

This looks great! 🔥


Add hooks for pre- and post-processing

Working on the Ubuntu font with its' special requirements made me think about pre-/post-processing hooks for fontmake or ufo2ft. The goal is to write custom code that takes care of things like reading in the maxp table data present in the UFO or adding a legacy kerning table to the compiled TTF, all without compromising fontmake's simplicity.

For things that are commonly used by multiple designers, we should make them available in fontmake itself.

That would need more designer input first.
I'm thinking about all the fonts out there that were not build with a modern toolset and have special requirements for building (like Adam Twardoch says about Lato: https://github.com/google/fonts/issues/6).
A pre-processor hook would be called after the source (UFO) has been loaded, a post-processor would be able to work on the compiled TTF/OTF in-memory before it is written to disk.

Right.  I deliberately didn't say these hooks are not a good idea.

The hooks have to work such that external tools can work on the fonts, so they'd have to be written out to disk before that and then read back in. In e.g. Ubuntu, the final binaries might be worked on by CacheTT.exe through wine with another Python script doing post-processing after that.


Scroll guidelines into view when mounted

This PR updates the scaffold alert component to scroll the guideline into view when it's mounted.
Fixes https://github.com/cosmicds/hubbleds/issues/446.

I'm very satisfied by how simple a solution this is. 👍


Feature Suggestion: Add IP2Loccation.io in Geo Middleware

I would like to introduce the IP2Location.io IP geolocation API. It has the following advantages compare to other API.

Fast - one of the fastest API in the market using multi-location servers and anycast technology
Accurate - based on IP2Location and IP2Proxy database which is available since 2002
Free - free tier with 30,000 queries monthly available to all users who sign-up online

Please consider IP2Location.io as one of the database source in geo middleware module. Feel free to ping me if you have any questions.
Thank you.

Hi @denisdulici, we have created the PR at https://github.com/akaunting/laravel-firewall/pull/68


Rotating the admin kubeconfig after 10 years

The admin kubeconfigs generated for any new cluster at install time is valid for 10 years. Ref: https://access.redhat.com/solutions/4845381.
How will hive rotate this certificate after 10 years?

I've created a story within our board https://issues.redhat.com/browse/HIVE-2084. I labeled the issue so that we will discuss at our next grooming and we will update this issue once we have. Thanks!

Bookmarking this KCS article with procedure for generating a new admin kubeconfig https://access.redhat.com/solutions/5286371. It is possible that this procedure could be automated by a controller.


CI: Test prow job control

Description
Just for test. Will not merge.
Checklist
n/a
Testing Performed

[x] An empty commit runs non UI e2e tests 6a17c73
[x] A change to ui/ runs UI e2e tests and skips the others 637af12
[x] A change to migrator/ runs upgrade and non UI and skip UI e2e 5eef454

/test

/test gke-race-condition-qa-e2e-tests

/test gke-scale-tests


Check if tmp files are deleted

We are creating tmp files when we create a new file for ex or when e rename or move one. In those cases tmp files are create in tmp OS dependent folder (/tmp on Linux for ex.).
We need to check if those get deleted after operation completes or at least when the process finishes.
Test case

start the cli
create several files
rename
write content
delete some, but not all
check those there is no data in /tmp of in OS specific tmp folder

Not sure what this is about ... can you add more context? I've tried the following :

run cli on specific mount_dir + data_dir
create temp files with mktemp on the mount_dir
check data_dir/inodes : total number of inodes matches the number of files in fs
remove temp files from mount_dir : logs show call on release with corresponding inode entries
check data_dir/inodes : the number of inodes decreased accordingly
kill cli : unmount successful
restart cli : mount successful and mount_dir contains expected entries

So i did a little more digging and i don't really see the problem here. I couldn't find anything in the codebase that touches /tmp.
There are indeed some situations where certain programs such as: vim, libre office, curl,or even mv might cache something in /tmp.
For example i tried creating a libre office file in a rencfs mounted directory and this indeed created something in /tmp but that was done by libre office so my expectation was that it also cleans up after itself.
Vim was a bit more interesting ... it created a temp file directly in the rencfs mounted directory (i see this as expected behavior).
I also tried mv, cp , curl on several files with sizes ranging from 50MB to 1GB and got nothing.
If an external program tries to access a rencfs mounted directory and creates some tmp files the expectation is that the external program cleans up these temporarily allocated resources as it uses the default filesystem under which it runs.

@srzamfir I added test case to desc


perPositionHeight reversed material

In this Sandcastle, you can see the video is reversed. If you set perPositionHeight to false, it's correct.
I'm not sure why. Came up on the forum.

Perhaps the normals are wrong?  @hpinkos any ideas?

Not sure what's going wrong.  It shows up correctly using the primitive API and backwards using the entity API.  I'll have to take a closer look to see where the difference is.  It also shows up the correct way if you move the polygon to the western hemisphere.
This is the code I was testing with.
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;

var positions = Cesium.Cartesian3.fromDegreesArrayHeights([
            110,30,0,
            110,40,0,
            120,40,0,
            120,30,0]);

var primitive = scene.primitives.add(new Cesium.Primitive({
    geometryInstances : [new Cesium.GeometryInstance({
        geometry : Cesium.PolygonGeometry.fromPositions({
            positions : positions,
            vertexFormat : Cesium.MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat,
            perPositionHeight : true
        })
    })],
    appearance : new Cesium.MaterialAppearance({
        material : Cesium.Material.fromType('Image', {
            image: '../images/Cesium_Logo_Color.jpg'
        }),
        closed : false,
        translucent : false
    })
}));

var entity = viewer.entities.add({
    polygon: {
        hierarchy: positions,
        material: '../images/Cesium_Logo_Color.jpg',
        perPositionHeight: true,
        show: false
    }
});

var showPrimitive = true;
Sandcastle.addToolbarButton('toggle', function() {
    showPrimitive = !showPrimitive;
    primitive.show = showPrimitive;
    entity.polygon.show = !showPrimitive;
});

Shouldn't the winding order of the vertices determine which direction the polygon is facing? That way the user in this case has control over it as opposed to having to deal with that Cesium guesses.

Should treat like any other polygon and use winding order to define "front".  Maybe I want to display something in the sky viewed from near the surface of the planet.

Winding order is likely why the polygon in the eastern hemisphere was backwards but if you negated the longitude values to put it in the western hemisphere it was forwards.  Cesium uses counter-clockwise rotation for polygon positions and the input positions from that sample are clockwise.
However, our PolygonGeometry will detect if the positions are CW and reverse them automatically so both with as expected in Cesium.  Whether CCW or CW is treated as the "front" varies depending on the platform.  To make CoplanarPolygonGeometry have roughly the same behavior as PolygonGeometry (which is needed since they're both used by the Entity polygon) I added a check to see if the normal is pointing into or away from the globe. #7188
I suppose I could put this behind a flag if someone using the CoplanarPolygonGeometry directly doesn't want this behavior.

Upon taking a closer look at the code, CoplanarPolygonGeometry needs to remain winding order indifferent at this time.  Winding order gets complicated because of our support for polygons with holes.  It is certainly something we can revisit in the future, but it's not a common use case and not a priority at this time.

Congratulations on closing the issue! I found these Cesium forum links in the comments above:
https://groups.google.com/d/msg/cesium-dev/CSQeUtcSj_4/_ridnkKxCAAJ
If this issue affects any of these threads, please post a comment like the following:

The issue at https://github.com/AnalyticalGraphicsInc/cesium/issues/7185 has just been closed and may resolve your issue. Look for the change in the next stable release of Cesium or get it now in the master branch on GitHub https://github.com/AnalyticalGraphicsInc/cesium.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:


Add a Github Workflow to run grunt as part of CI

Github Workflows is a free CI platform and it's bone-simple.


HTMLCOIN CORE version v<IP_ADDRESS> (64-bit) is not syncing

My HTMLCOIN CORE version v<IP_ADDRESS> (64-bit) has stoped syncing, than I updated to v<IP_ADDRESS> but the problem persists.
I updated to the new mandatory wallet ( v<IP_ADDRESS>) on Feb. 13th, and started staking.
It was working fine until I went to bed. The next day I woke up and it has stopped working (mined a block at 22:55 São Paulo timezone).
I updated to the new version (v<IP_ADDRESS>), but it's still not working.
It says it's not staking because I don't have mature coins...
My config:
MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)
3,1 GHz Intel Core i5
8 GB 2133 MHz LPDDR3
Macintosh HD
Intel Iris Plus Graphics 650 1536 MB
mac OS Mojave 10.14.3 (but has made no changes in it for the past few days)
Here is the print of the problem:

Can anyone help?
Thanks a lot!
Bruno Silveira

I have the same issue, but at block 637483.  latest core version as well

Close the client, go to your data directory and delete everything except your wallet.dat and/or wallets folder. To find your data directory follow the advice from the page link below substituting HTMLCOIN for Bitcoin.
https://en.bitcoin.it/wiki/Data_directory

After following the above instructions, I have renown fully sync'd the blockchain to current, and all of my transactions are present in the Transactions list, but I have a zero balance in my wallet.  What do I do now?

In the HTMLCOIN data directory create a txt file called htmlcoin.conf add the following line.
zapwallettxes=2
Start the client, it will delete all transactions and rescan the blockchain to rebuild your transaction history and balance. Afterwards starting the client remove the above line from the conf file.

By doing so, will that also search for the transactions related to staking my coins?

It will find all TXs related to the private keys in your wallet.dat, short answer, yes.

commented less than a minute ago
It will find all TXs related to the private keys in your wallet.dat, short answer, yes.

I have had the file in the folder for a few hours now and there doesn't seem to be any progress... Approximately how long should the process take.  FYI, re-syncing the entire blockchain yesterday afternoon took about 35 minutes on my desktop.
Thank you for your help in trying to resolve this issue!

That file will not work as it's a Rich Text Document, it needs to be a plaintext file. The application will take a while to start but once started it has completed the rescan.

Thank you for the clarification.  I have converted the file to plain text now and have relaunched the client.  All of the "previous recent transactions" remain in the "My Wallet" tab, and I have 8 network connections currently with last block sync'd being 670240...  At this point, do I simply allow it to run and see what happens, or should I unlock the wallet?

You are very close. One more error I just spotted, the file is named wrong, it should be htmlcoin.conf, yours is called htmlcoim.conf. You can use the file I've created and linked in below.
https://drive.google.com/uc?export=download&id=1HvJQPySUsY8M73GccjYY_4Y1WxdgXO16

Replaced my file with the one downloaded from your google drive:

relaunched Client and starting block was 670280.  Two hours later, last block is 670375.  Still zero balances in wallet.  Any suggestions?

The file in your screenshot is named htmlcoin.conf.txt, I'm not sure how the .txt got appended to the end.
Please remove the .txt at the end of the file name and restart the client.
To test I just downloaded the file from my Drive and there's no .txt added, if you drag and dropped it from your Downloads folder it should have been fine, if you opened it in an editor and saved it to location perhaps it added the suffix.

I deleted the addition .txt extension and relaunched the client.  how long should I wait to see any motion?

If it works it should have done so when the client opens on the screen, so quickly.

Then it did not work... starting block when I opened the client was 670403... now on block 670440

By the way the option zapwallettxes will not make a difference to block height.
Looks like the client failed to start with zapwallettxes=2.
Please contact me directly via email using<EMAIL_ADDRESS>


QuitRoot button non-functional

in the REve browser display, the 'QuitRoot' button seems to do nothing.  No response is reported on the server side, and there's no change in the display.  The only way I can find to disconnect is to close the browser tab.  That is registered at the server as 'connection lost'.

Yes, this is something which seems to occur in remote mode. The code it calls is here: https://github.com/Mu2e/REve/blob/main/src/EventDisplayManager.cc#L22 it should kill the thread, I think this doesnt work any longer but it used to. Perhaps this is due to remote view .v. local view, or something changed in ROOT

Essentially it does the same thing as "next event" (which it now still does) but was meant to throw an error which would then kill the process. It needs rethinking...


Create new asset for Dispatch Queue with Godot 4 support

Hmm I'm also running into similar problems as before for some reason:
E 0:00:07:0282   dispatch_queue.gd:90 @ execute(): Error calling from signal 'finished' to callable: 'StaticBody3D::_generated_chunk': Method expected 0 arguments, but called with 1.
  <C++ Source>   core/object/object.cpp:1140 @ emit_signalp()
  <Stack Trace>  dispatch_queue.gd:90 @ execute()
                 dispatch_queue.gd:253 @ _run_loop()

For some reason Godot no longer allows signals to be emitted from Threads 🤔

For now this code I wrote will fill my use case, but has to be added as a child to work:
https://gist.github.com/tavurth/f3d93b428e5ea4b15d9b7566581e10b4
So basically waiting until the thread is finished (on the main thread) in _physics_process to emit signals.

Hi @tavurth.

Error calling from signal 'finished' to callable: 'StaticBody3D::_generated_chunk': Method expected 0 arguments, but called with 1

It seems the method you hooked into the finished signal breaks if you pass arguments to it. I guess if you connect a method that accepts the argument, even if just ignoring it, it should work fine.

By the way, this issue is about creating a new asset in the Asset Store.
If you want to further discuss this problem you arised, I'll ask you to create a new Issue or Discussion for it, to avoid discussions out of the issue's topic.

Hi @tavurth.

Error calling from signal 'finished' to callable: 'StaticBody3D::_generated_chunk': Method expected 0 arguments, but called with 1

It seems the method you hooked into the finished signal breaks if you pass arguments to it. I guess if you connect a method that accepts the argument, even if just ignoring it, it should work fine.

Wow I must be needing sleep more than I thought 😅 I didn't notice that and assumed it was another issue!


use new binary data type support for wkb

https://github.com/pola-rs/polars/pull/5122
iirc might make geopolars -> geopandas faster because I shouldn't need an extra copy/cast (since pyarrow doesn't define a cast from list u8 to binary)?

this might also allow us to use the geozero geoarrow reader to parse the wkb?

Might've done something wrong and cargo didn't like trying to use latest polars from git (gave errors of can't find polars-core) so I'll try this once it's in an actual release


errcheck is called incorrectly and silently fails

I typically call gometalinter via vim-go which runs a command like this:
gometalinter --disable-all --enable=vet --enable=golint --enable=errcheck \
/home/vagrant/go/src/github.com/horgh/test

I noticed today after updating gometalinter that errors it normally would catch were not being reported. It appears there was a change to how it calls errcheck and the above command now fails the errcheck call.
If I revert to an earlier gometalinter commit, linting with errcheck works again.
I've updated using gometalinter --install as well.
I used git bisect and found the first commit with an issue is 849d41c4e4702571db3c9b8c646a7ff21d48bdc8.
Here is debug output of the problem case (b4ebfc554d8f36bfef1f180ad0aaaaac99b430d5):
vagrant@ct100-test:~/go/src/github.com/horgh/test$ gometalinter --debug --disable-all --enable=vet --enable=golint --enable=errcheck /home/vagrant/go/src/github.com/horgh/test
DEBUG: PATH=/home/vagrant/bin:/home/vagrant/bin/ratpoison-git/src:/home/vagrant/go/bin:/home/vagrant/bin:/home/vagrant/bin/ratpoison-git/src:/home/vagrant/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/vagrant/.fzf/bin
DEBUG: GOPATH=/home/vagrant/go
DEBUG: GOBIN=
DEBUG: linting path /home/vagrant/go/src/github.com/horgh/test
DEBUG: executing /usr/bin/go tool vet /home/vagrant/go/src/github.com/horgh/test/test.go
DEBUG: executing /home/vagrant/go/bin/golint -min_confidence 0.800000 /home/vagrant/go/src/github.com/horgh/test
DEBUG: golint hits 0: ^(?P<path>.*?\.go):(?P<line>\d+):(?P<col>\d+):\s*(?P<message>.*)$
DEBUG: golint linter took 11.488242ms
DEBUG: executing /home/vagrant/go/bin/errcheck -abspath /home/vagrant/go/src/github.com/horgh/test
DEBUG: warning: /home/vagrant/go/bin/errcheck returned exit status 2: import "/home/vagrant/go/src/github.com/horgh/test": cannot import absolute path
error: failed to check packages: could not type check: no initial packages were loaded

DEBUG: errcheck hits 0: ^(?P<path>.*?\.go):(?P<line>\d+):(?P<col>\d+):\s*(?P<message>.*)$
DEBUG: errcheck linter took 9.964403ms
DEBUG: vet hits 0: ^(?:vet:.*?\.go:\s+(?P<path>.*?\.go):(?P<line>\d+):(?P<col>\d+):\s*(?P<message>.*))|(?:(?P<path>.*?\.go):(?P<line>\d+):\s*(?P<message>.*))$
DEBUG: vet linter took 50.874178ms
DEBUG: total elapsed time 57.944781ms

Here is debug output of the working case (1bcfd85):
vagrant@ct100-test:~/go/src/github.com/horgh/test$ gometalinter --debug --disable-all --enable=vet --enable=golint --enable=errcheck /home/vagrant/go/src/github.com/horgh/test
DEBUG: PATH=/home/vagrant/bin:/home/vagrant/bin/ratpoison-git/src:/home/vagrant/go/bin:/home/vagrant/bin:/home/vagrant/bin/ratpoison-git/src:/home/vagrant/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/vagrant/.fzf/bin
DEBUG: GOPATH=/home/vagrant/go
DEBUG: GOBIN=
DEBUG: linting path /home/vagrant/go/src/github.com/horgh/test
DEBUG: linting with golint: golint -min_confidence {min_confidence} {path} (on /home/vagrant/go/src/github.com/horgh/test)
DEBUG: executing /home/vagrant/go/bin/golint ["-min_confidence" "0.800000" "."]
DEBUG: linting with errcheck: errcheck -abspath {path} (on /home/vagrant/go/src/github.com/horgh/test)
DEBUG: executing /home/vagrant/go/bin/errcheck ["-abspath" "."]
DEBUG: golint hits 0: ^(?P<path>.*?\.go):(?P<line>\d+):(?P<col>\d+):\s*(?P<message>.*)$
DEBUG: golint linter took 18.766998ms
DEBUG: linting with vet: go tool vet {path}/*.go (on /home/vagrant/go/src/github.com/horgh/test)
DEBUG: executing /usr/bin/go ["tool" "vet" "test.go"]
DEBUG: vet hits 0: ^(?:vet:.*?\.go:\s+(?P<path>.*?\.go):(?P<line>\d+):(?P<col>\d+):\s*(?P<message>.*))|(?:(?P<path>.*?\.go):(?P<line>\d+):\s*(?P<message>.*))$
DEBUG: vet linter took 153.805345ms
DEBUG: warning: errcheck -abspath . returned exit status 2
DEBUG: errcheck hits 2: ^(?P<path>.*?\.go):(?P<line>\d+):(?P<col>\d+):\s*(?P<message>.*)$
DEBUG: errcheck linter took 656.594344ms
DEBUG: nolint: parsing /home/vagrant/go/src/github.com/horgh/test/test.go for directives
DEBUG: nolint: parsing /home/vagrant/go/src/github.com/horgh/test/test.go took 617.432µs
/home/vagrant/go/src/github.com/horgh/test/test.go:19:6:warning: error return value not checked (cannot convert 5 (untyped int constant) to string) (errcheck)
/home/vagrant/go/src/github.com/horgh/test/test.go:18:2:warning: error return value not checked (a declared but not used) (errcheck)
DEBUG: total elapsed time 672.846156ms

The silent failure seems related to #310. But I don't see an open issue for the change in the call to errcheck.
Thanks for your assistance!

@dnephin ping

I've been away for the last few days. I should be able to fix this
tomorrow. I think the problem is that some linters expect package paths,
not file paths to directories. Relative paths work for both cases. It looks
like if the command line arg is an absolute path we don't convert it to a
relative path.
Does it work with a relative path?
I don't think my warn on panic PR will handle this case
On Jul 10, 2017 3:54 PM, "Alec Thomas"<EMAIL_ADDRESS>wrote:

@dnephin https://github.com/dnephin ping
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alecthomas/gometalinter/issues/318#issuecomment-314216539,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAa_RFXAVgWkhT92EBInzTc9qI2ip3Ojks5sMoFsgaJpZM4OR2rD
.

I think I have a fix in https://github.com/alecthomas/gometalinter/compare/master...dnephin:fix-errcheck-partition if you want to try it out. I need to write some tests to verify it, and see if any other linters need this fix.
I'm still curious if it works if you use a relative path (I believe it does).
If no other linters require this change it might be easier to fix errcheck instead of continuing to support another type of linter.

Yeah that seems pretty annoying TBH.

Ok, it looks like lots of linters actually expect packages, so I'll finish writing the test for this and open a PR. The full list is:

aligncheck
errcheck
gosimple
interfacer
megacheck
safesql
staticcheck
structcheck
test
testify
unconvert
unparam
unused
varcheck

Works great!
Thanks so much for fixing this!

Hey,
Seems like this error (at least in regard to errcheck) is back.
When running gometalinter $absoulteFileNameWithPath$ errcheck is not being implemented (or ignored?) while running it with $relativeFileNameWithPath$ does run it.
Sorry if this is the wrong place to submit this issue, was wondering if I should open a new issue or not :)


fail to build augmentor 0.2.11 due to a minor typo

https://github.com/mdbloice/Augmentor/blob/30191c72bb0c2deb67932786facd9a2a9e9d814e/setup.py#L33-L38
should change to:
    install_requires=[
        'Pillow>=5.2.0',
        'tqdm>=4.9.0',
        #'future>=0.16.0',
        'numpy>=1.11.0',
        'futures>=3.2.0; python_version == "2.7"'

logs:
error in Augmentor setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected end or semicolon (after version specifier)
    numpy>=1.11.0futures>=3.2.0; python_version == "2.7"
         ~~~~~~~~^

Hi @hubutui thanks for pointing this out, I made the change and created a new version of Augmentor (v0.2.12), please try to install that version using pip install --upgrade Augmentor


More dd methods

Add several missing Series/DataFrame methods.

combine
abs
autocorr
sem
nsmallest
cleanup drop a bit, make consistent with pandas interface
first
last
prod

At first glance this looks good to me.  Is this a WIP or is it ready for review and merge?

Ready for review and merge. Perhaps rebase (instead of squash) and merge, as each commit is a separate feature.

Perhaps rebase (instead of squash) and merge, as each commit is a separate feature.

Agreed


Code of conduct

What does this PR change?
Adds new code of conduct page.

Closing in favor of https://github.com/kubecost/cost-model/pull/1016


replace Poseidon implementation by types-rs

The following Poseidon implementation
https://github.com/xJonathanLEI/starknet-rs/blob/4dbc1692d4f295de803484181e07803201528922/starknet-crypto/src/poseidon_hash.rs
should be replaced by the dedicated type-rs provided implementation:
https://github.com/starknet-io/types-rs/blob/main/crates/starknet-types-core/src/hash/poseidon.rs

We would like to be assigned to this issue
cc @tcoratger @xJonathanLEI


MINOR: Add support for ZK Authorizer with KRaft

This patch adds support for running the ZooKeeper-based kafka.security.authorizer.AclAuthorizer with KRaft clusters.  Set the authorizer.class.name config as well as the zookeeper.connect config while also setting the typical KRaft configs (node.id, process.roles, etc.), and the cluster will use KRaft for metadata and ZooKeeper for ACL storage.  A system test that exercises the authorizer is included.
This patch also changes "Raft" to "KRaft" in several system test files.  It also fixes a bug where system test admin clients were unable to connect to a cluster with broker credentials via the SSL security protocol when the broker was using that for inter-broker communication and SASL for client communication.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for tackling this.
Please keep in mind that this is a plugin architecture.  The ZK-based authorizer shouldn't get any special treatment, nor should its setup be done outside its own code.  The code and logic for accessing ZooKeeper for ACLs needs to be contained just in the AclAuthorizer, not everywhere in the code.
For example, KafkaRaftServer does not need to know anything about ZooKeeper or AclAuthorizer specifically.  Maybe KafkaRaftServer's constructor needs to take an Authorizer object as an argument.  (Although it's not even clear to me that that is true, since it seems like all authorization happens in KafkaApis and ControllerApis.)  But certainly KafkaRaftServer does not need to be looking at config.zkConnect or messing around with ZkClient.
Whatever setup the zookeeper authorizer needs to do should be done in its start function.  So creating the relevant znodes, etc.  We probably need to continue doing that setup in KafkaServer.scala as well, since not all users will be using KafkaServer + AclAuthorizer (again, plugin architecture, they could use using one but not the other.)
A separate issue is that we need to start forwarding the ACL operations to the controller.  You did one half of that work here (adding "controller" to the message JSONs) but not the other (supporting these calls on the controller-side).  If it's easier, we could probably do this in a follow-up JIRA.  However, we do need to do it before the bridge release.

@cmccabe Thanks for taking a look.  I agree in principle with your statement that KafkaRaftServer should know nothing about ZooKeeper or AclAuthorizer.  My reasoning for violating that idea was due to a specific issue: nothing will work with ZooKeeper when there is a chroot path in the zk.connect configuration value unless that chroot path exists.  Currently KafkaServer checks for and creates any non-existing chroot path upon startup, and the ZooKeeper initialization being done in KafkaRaftServer is the same thing -- the PR refactored that ability out into its own function so that it could be called from both KafkaServer and KafkaRaftServer.  It is conceivable that we could move this check into AclAuthorizer, but then the ZooKeeper-based broker won't run if there is no authorizer configured (and it might not work anyway due to race conditions -- who's to say that the authorizer will win the race and create the chroot path before anything else tries to connect?)

It might be helpful to move the znode setup code into KafkaZkClient

@cmccabe One possibility is that the first time we connect to ZooKeeper we connect without the chroot path, create that path if it doesn't exist, and then disconnect -- then (and thereafter)we connect with the chroot path?  If we did that then I think it would have to happen in kafka.zookeeper.ZooKeeperClient rather than in KafkaZkClient since the former is where we provide the chroot path -- the latter seems to simply use the former with no concept of a chroot path.

we need to start forwarding the ACL operations to the controller

We forward the Create/Remove operations to the controller, BUT this patch actually short-circuits that if we are using KRaft with the ZooKeeper-based AclAuthorizer via the changes to RaftSupport.maybeForward().  The reason for short-circuiting it is because the KRaft controller doesn't have the code to create or remove ACLs (handle{Create,Delete}Acls in KafkaApis).  We could add it, of course, in which case the changes to the maybeForward() method would be unnecessary.  Perhaps it would be simpler to do that instead of delaying it to an additional PR -- is that what you were suggesting?

@cmccabe The code now auto-creates any ZooKeeper chroot in KafkaZkClient.apply().  I added a unit test for it in KafkaZkClientTest, which passes, and it also gets exercised in a few system tests that set a ZK chroot path (delegation_token_test.py is one such file, and it passed locally for me with this change).  KafkaRaftServer no longer has any reference to ZooKeeper.
Assuming the above change is acceptable, I think the remaining issue from your initial review is the issue of forwarding.  Take a look at my comment above and let me know what you think -- keep what I have, which short-circuits the forwarding, or forward to the controller and pass the ACL requests to the registered authorizer instance.  I suspect the latter is better, but let me know your opinion since you suggested this could be done in a follow-on PR.

@rondagostino did you see https://github.com/apache/kafka/pull/10699?

@cmccabe I merged in trunk and pushed a separate commit to fix the failing unit tests.  The way we test to ensure an API is always forwarded for KRaft is to send the request directly through into KafkaApis as though it wasn't forwarded and assert that we get UnsupportedVersionException.  You had inadvertently short-circuited our ability to send the request through to KafkaApis by invoking the new AclApis directly in the request.header.apiKey match { block.  I fixed the tests by re-adding the standard handle...() methods and have them check the metadata support status if necessary and then invoke AclApis -- that way we still have the check that we are using ZooKeeper and not KRaft, and the tests can get the expected exception and pass.

Hi, know this is not the right place but I didn't find any sample configuration to use AclAuthorizer with KRaft enabled. If I add the line authorizer.class.name=kafka.security.authorizer.AclAuthorizer the server crashes. I read I have to configure zookeeper.connect property but of course I don't have zookeeper running. Any hint is really appreciated.