feature request: show context on keypress

one feature that I find missing in all projects is the lack of context discovery
forgetting the specific line I'm searching for happens to me frequently and rather I remember previous/next lines that followed the command I'm looking for. finding those lines and then revealing the context around those lines would help me find what I'm looking for.
if what I'm saying doesn't make sense, I'll explain it in more detail in the comments

I think I get what you mean! You'd like to "inspect" a command to see what was ran before or after it?
I've been thinking about a "command inspector" for a while anyways, we just need a nice UX for it. It would be good to expose more of the info we store to the user

There's a complication that I can forsee. In our search, we remove duplicates so you dont get a thousand matches for cargo run or ls 😅 but that means you might have duplicate contexts to see.
Now, a solution I can imagine is that when you find the command you're interested in, you enter an 'inspect mode' that brings up a new pane. It shows you the command history around the latest instance of that command and you get new keybindings shown to you that allow you to jump back and forward to the other instances of that command.

Yeah 100%. It would need to be an inspector for the command, not just an instance of the command.

I think I get what you mean! You'd like to "inspect" a command to see what was ran before or after it?
I've been thinking about a "command inspector" for a while anyways, we just need a nice UX for it. It would be good to expose more of the info we store to the user

that is what I meant exactly :) glad to see it's already under consideratoin

I was about to open a feature request for this very same thing. I often forget the context for a certain commands and this feature would be really useful. It doesn't matter that duplicate commands are filtered because its the same sequence of commands I execute every time.
Maybe a way to present this would be to have it as a filter so pressing Ctrl+R brings up a Context filter with a split pane where say, the top half, shows the context (commands before and after).

how's this?

It's currently in main, and opened by ctrl-o on a item in the search results. I'd like to tweak it a bit and am definitely looking for feedback
Would be good to add:

Explore many executions of the same command
Explore sessions

Wow. Its great you have an implementation already. I will definitely check out the latest and try it out.
However.. from the screenshot above, in my opinion, it looks a little too busy. The stats would be useless for me.. is it something that can be turned off ? Also i think it would be nice to have more than just one previous and next command.. I was thinking of a pane that had a list with the command highlighted and all entries before would be previous commands and all entries after would be commands after/next.
I will respond with feedback on https://forum.atuin.sh

Hmm, I thought this iissue kinda needs «jump to found item» or something like that. So that you can find an item in history, and then drop search terms while remaining at selected point of history...


Add preLights as a group via RSS feed

Ticket to help preLights build custom RSS feed: https://github.com/sciety/sciety/issues/470

The production deployment for the preLights RSS feed is scheduled for today.

Morning Hannah (and all),

I hope everyone is well. You beat me to it Hannah - the deployment completed overnight, you can access the live URL at:
https://prelights.biologists.com/feed/sciety/?key={key-as-previously-provided}
If we could ask that you aim to use the filter arguments on the URL to avoid overloading the feed generator, as discussed during the build phase.
If there are any questions please do not hesitate to contact me.
All the best,
Julian

The following optional parameters are:
hours - an integer which defines the number of hours the feed covers, counting back from the current time, based upon the post's last update datetime.  We recommend all calls use this parameter, a typical value would be hours=24
doi - this can be used to return a feed that relates to a specific preLights post or preList only, it is assumed this will be used if you've received notification of the DOI via some other method, for example from a call to crossref.


Better tutorial for large project

Please help,
Working on some research to determinate witch technology and framework suits for large medical API. Found that Flask-restful is almost excellent, but have 'trouble' to organize structure of project
hapi/
    api.py
    modules/
         __init__.py
         module1.py
         module2.py

Try from here, but it's confusing, must say that am not familiar with Flask / Flask-restful at all, this is first time to 'playing'
Thanks

This is a topic that has been discussed at great length by numerous people. There isn't really a "right" way, you need to do what makes sense and feels comfortable to you. I suggest reading what others have done for some ideas.


GeoJSON Reader Exception

Updated the example catchment_data.geojson property from 'area_sqkm' to 'areasqkm' to match the new hydro-fabric. Added exception to GeoJSON reader whenever a property is not found.
This should fix part of the automated tests that are failing on GitHub.
Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist (automated report can be put here)

Target Environment support

[ ] Linux

The python environment variable issue needs to be resolved, but I'll approve it once it's in there (you might need to ping me in order to remind me). I like the change.


Documentation and website on gh-pages

This PR (currently) WIP adds an EarthML website for documentation and example notebooks. Here are some screenshots:
Homepage:

Topics:

Current example notebook:

I'll be committing this initial version to the gh-pages branch shortly.

The current notebook is huge! The resulting HTML is 160MB for that one file.
I'll update it to use datashader before making a PR to initialize the gh-pages branch.

I have rebased this PR and I'll now rebuild the website to include the new notebooks.

Just for reference, this PR now updates this website with a new EarthML logo:


Add rbenv support for ruby version display in the Avit theme

The function _ruby_version() which is called in prompt only checks for RVM. I just added rbenv support. It works as expected.

Thanks, pzgull!


Replace jQuery.ajax with XMLHttpRequest requests and some Jasmine client tests.

This is a work in progress that I'm submitting early in order to get feedback on if it's a good idea and might be accepted, and in order to garner suggestions on improvements.
Some background:  I've been using message-bus for some time on a React based project of mine that doesn't use jQuery.  Since I didn't have it available, I hacked together an implementation that used the xhr js library (what the project uses).
However my version lacked chunked encoding and background support.  With the work on the new release, I decided it would be nice to integrate the upstream version by contributing a vanilla XMLHttpRequest version.
Some big caveats on the current state.

It's very minimally tested both by specs and real-world use.  I'm planning on integrating it into my project and do some further testing, which I'm sure will uncover flaws.
I'm using FormData to encode the request message bodies.  While that works ok, it's IE10+ only.  Ideally I think we could switch to a JSON encoded body.  If that sounds like a good idea I'll do so.
I left the jasmine installed helpers and config options as-is.  Would you prefer they be cleaned up to only include settings that are needed, or leave the jasmine-standard copious comments?

I really like the idea of shaking the tight dependency on jQuery, but I am very happy to have a soft dependency.
Lots of people expect all ajax calls to go via jQuery which gives you pipelines for decorating and so on.
Ideally the way I see it
MessageBus.ajax = (jQuery && jQuery.ajax) || MessageBus.ajaxImplementation;
I am super happy to see a test suite added for MessageBus. Also think it would be mighty fine to ship a MessageBus.ajaxImplementation method (probably in its own file, cause you would simply bundle it).
Totally open to also supporting json encoded body, this was raised before and makes interacting with us via other clients a bit easier.

@SamSaffron thanks for considering the change!  I've now:

restored MessageBus.ajax to default to jQuery and added MessageBus.ajaxImplementation as a fallback.
Updated MessageBus to use JSON body instead of post parameters.
Added a few more client specs.  If there's any additional options that you'd like tested I can take a shot at adding them.

Right now the XMLHttpRequest implantation is in a separate file, but I worry that it might be confusing to users to have to include it. The current implementation is only 40 lines so perhaps we should consider moving it into the main message-bus.js file?

Excellent progress!
I think the correct thing to do here from a server's side is to support both JSON payload and "the old way", just set Content-Type: application/json and have the server switch on that, if it is application/json ... use the json parsing, otherwise use form-data
in theory form-data is ever so slightly more efficient on the server so we should keep using it for the standard jQuery implementation
Regarding the confusion with the extra file, I think it is reasonable to require the extra file as the vast majority already have jQuery in place, what we could do is have it raise an exception if it is unable to resolve a ajax implementation notifying users they need to add the file.
Overall super happy with this work being done!

@SamSaffron Take a look at the current state and see what you think. I've been testing it and seems to work well for me at least.
BTW, I've had some puzzling spec timeouts with Travis. Sometimes a spec run will lockup for 10 minutes until Travis kills it.  There's no pattern to it that I can discern, sometimes it's the Postgresql run, other times Redis.  Is this something you've noticed on master as well, or should we be concerned with it on this PR?

I am really liking this!
@jeremyevans  server wise there only a tiny change but worth you reviewing as well.
Very happy to have all the client side testing!
The tests failing are mostly due to us pushing the limits of testing here with the forking tests, many projects avoid even touching this kind of stuff, I would like to fix it though.

Rack middleware change looks good to me.

OK, let's merge this in ... it also resolves https://github.com/SamSaffron/message_bus/pull/42
Thanks for all your work here @nathanstitt


Adapt cob4-6 configuration

Same changes as https://github.com/ipa320/cob_robots/pull/345 for cob4-6

LGTM


Passwort reset link contains 2 slashes

This is  a bug.
Description
Passwort reset link contains 2 slashes
Steps to Reproduce
Go to login page
Reset password
Enter a valid email address
php artisan queue:work
Check link in mail
Expected behavior
xxx.com/password/reset/xxxx
Actual behavior
xxx.com//password/reset/xxxx

This is an password reset link from laravel-enso.com
https://www.laravel-enso.com/password/reset/a07e38...
Maybe you modified the notification template?
How does your APP_URL key look in you .env ?

Sorry, had an slash at the end of my APP_URL


[Migrated] Allow providing a JSONEncoder class

Originally from: https://github.com/Miserlou/Zappa/issues/1538 by charlax
Description
This is allowing the user to provide a JSONEncoder class to customize how message are serialized. Can we useful if you're using uuid a lot for instance.
GitHub Issues
This is a fairly trivial change, it's faster to just show the code.
I haven't written any test yet, opening this PR to get some feedback on the idea and general implementation direction.

Assume this is related to asynchronous task execution.
PRs are welcome.
Will close if no activity on this issue by end of 2022.


Disable Nagle Algorithm

Hi guys,
I'm having performance issues with StreamPeerTCP, and the only thing I need is to disable this algorithm.
Is there any way to create a StreamPeerTCP by disabling Nagle Algorithm?

Closed by https://github.com/godotengine/godot/pull/16188.


[RFC] Python Array API standardization

Problem statement
Python API Standard is an standard Array API for all Python numerical computing, data science, machine learning, and deep learning frameworks. By specifying an API for the most common ways arrays are constructed and used, It aims to address the differences among those frameworks that makes developers quite difficult to write code that works with multiple (or all) of these libraries.
Proposed solutions
By comparing the Python API Standard and APIs in MXNet.numpy, an list of APIs similar to the list in pytorch Python Array API Compatibility Tracker is formed. Further works will be done according to the list attached. The dlpack synchronization APIs in the list is specified in Specify synchronization semantics.
References

Python API Standard
pytorch Python Array API Compatibility Tracker
dlpack Specify synchronization semantics

On-going Efforts
https://github.com/apache/incubator-mxnet/pull/20454
https://github.com/apache/incubator-mxnet/pull/20478
Attachment
MXNet & Python Api Standard Comparison

current list is base on APIs in MXNet 2.0 & Python Data API Specification(commit: cf5aa666017b8a8a2117aa1cb1770eb1cf841942)
We classified each API into 6 categories:

No Changes: The current PyTorch implementation already conforms to the Data API.
New API: Need to add a new function or constant.
Enhancement: Need enhancement to the existing function (add new argument, etc.).
Enhancement with BC: Need to change signature of the existing function. (breaking change if we implement the API directly under torch.* namespace)
Behavior: Need to change behavior of the existing function. (breaking change if we implement the API directly under torch.* namespace)
N/A: The detailed specification is not determined yet in the Data API.

There is 46 New APIs needed, 60 current APIs needed to be enhanced, 0 API needed to change behavior and 2 APIs is not specified in current Data API commit.
@barry-jin @szha

Thanks for opening this discussion. Looking forward to MXNet's support of Array API.
cc @rgommers (for awareness)

Hi. Just wanted to comment here to see if there's any way we can help with the mxnet implementation of the array API.
As you may be aware, we have a test suite for array API compliance at https://github.com/data-apis/array-api-tests/. If you have any issues or questions regarding the test suite, please reach out to us by opening an issue in the array-api-tests issue tracker. In particular if you have any ways that you feel the test suite could be easier to use, we'd like to know about that so we can improve things. We want it to be as useful as possible for people implementing array API support in libraries like mxnet.
CC @honno

I've written a basic wrapper to get things started, as the test suite requires some things like namespaced dtypes and info functions for most of the tests. I'm quite unfamiliar with MXNet so struggled to get far in making sure the test suite was working fine and it all the failures are non-compliance issues. https://gist.github.com/honno/c95eeabc71f5ca65d40e5a5105eda672
I think a native and fully-compliant xp.asarray() would be a good priority if folks wanted to start using the test suite, although generally I think it's fair to ignore the test suite until you're much closer to covering the spec.

Thanks @asmeurer, @honno. MXNet master branch is using array-api-tests part of test suites in CI (commit hash here). We also have mxnet.numpy.array as standard array API to be interoperable with other array libraries.

There have been quite a few additions and general improvements to the test suite since commit c1dba80a196a03f880d2e0a998a272fb3867b720, which is from September. Would it help you if we were to tag releases for the tests repo?

Yes, that would be helpful.


Fixed pip import to accomodate refactor in pip 10.0

Fixes #83.

Will release a new version to pypi in a few days (waiting for another PR to get merged). Thanks.


Poor data types

As it stand, the library is barely usable as it is extremly easy to mess up.

Almost no data types are handled other than Object or Variant.
Possibility to insert any non JSON related data,

Consider the following code (within Excel):
Public Sub test()
    Dim Data As Scripting.Dictionary
    Set Data = JsonConverter.ParseJson("{""value"" : ""a string""}")    '// Ok

    Data.Add "range_1", ThisWorkbook.Worksheets(1).Range("A1")    '// No sens, a Range is not a valid JSON data

    ThisWorkbook.Worksheets(1).Range("A2") = "some value"
    Data.Add "range_2", ThisWorkbook.Worksheets(1).Range("A2")    '// No sens, a Range is not a valid JSON data

    Dim TestData As Scripting.FileSystemObject
    Set TestData = New Scripting.FileSystemObject
    Data.Add "TestData", TestData        '// No sens, FileSystemObject is not a valid JSON data

    Dim Output As String
    Output = JsonConverter.ConvertToJson(Data)
    Debug.Print Output
End Sub

WORST:
It does not fail.

Personally, I have used this project for more than 5 years in both Excel and Access and have not had any major issues with using the module, but I also have been programming in VBA for well over 10 years.

Did you read the project readme?
Do you understand the JSON data format?
Do you understand how to program in VBA and the difference between objects, collections and dictionaries?
Did you include the reference for Scripting.Dictionary in your VBA project?

Those might be places to start your learning experience, rather than venting your frustrations.
A Scripting.FileSystemObject is not a valid JSON data type. Valid JSON data types are numbers, strings, arrays, objects, true, false and null. So adding it to the Scripting.Dictionary as a value causes a reference to the object to be added, which cannot be converted into a valid JSON data type.
Skipping over that error in the debugger, the output printed to my immediate window is:
{"value":"a string","range_1":22,"range_2":"some value"}

I had the number value 22 in cell $A1, which looks correct to me given your code added range_1 and range_2.
I do agree that when calling ConvertToJson that it should generate the null value for any value in a VBA.collection or Scripting.Dictionary when that value is a reference to an object other than a VBA.collection or a Scripting.Dictionary, rather than producing invalid JSON. In this case a property with any value. However, if you placed a proper JSON data type into the Scripting.Dictionary you would not have had that issue. Not an excuse, just saying...
FYI, when using Scripting.Dictionary beware of the caveat using the item property either implicitly or explicitly:

If key is not found when changing an item, a new key is created with the specified newitem. If key is not found when attempting to return an existing item, a new key is created and its corresponding item is left empty.

BTW, you can also edit ConvertToJson, correct the issue in your VBA project, then push the change to the project.

I am highlighting the fact that the library allow to do illegal things.
And from experience, if you allow code users to do illegal things, sooner or later they will do it.
The only "fix" I can see is to redesign everything, with strong data types.

The library already uses strong types that are found in VBA, e.g., string, integer, long, boolean, collection, dictionary. The issue you had is an oversite that has to do with handling references to unknown objects, which IMHO, should be converted to JSON null or to throw an error. So the library doesn't need to be completely redesigned, just used properly, with a minor fix to correct the oversight of handling unknown object references and in the interim can be avoid by proper programming until a fix can be implemented. If you feel the library really needs to be completely redesigned, then have at it, and create a new open source project that showcases your ideas.

Afraid you missed the point:
The library do not throw any error on invalid assignations when it should.
In consequences, it can generate invalid JSON output.
This behavior is due to its inhability to discriminate valid data types from invalid ones. Object, Variant, Collection and Dictionary data types are simply not strong enough (ehence poor data types).

Create a new open source project that showcases your ideas

From now on, my work in progress is within my repositories.

I won't comment everything since you tend to focus on a particular use case: the sample code I posted, wich is just that: A sample (don't confuse it with an issue I am experiencing).
Generally speaking, any decent library must fail on illegal operation, either:

Raise an error or exception.
Return a False indicator notifying the failure of the operation.
Choose your favorit behavior.

As a user, I am looking at the services the VBA-JSON library offer, to name a few:

Parse a JSON file and return an object hierarchy representing the data held within the file.
Build or update an object hierarchy representing JSON data.
Obtain a string representation of the object hierarchy.

On the 2nd point, there are issues, such as allowing illegal operations (to refer back to the sample I posted: an illegal assignment. And Excel.Range or Scripting.FileSystemObject data types are particular use cases, the same behavior can be observed with any "VBA Object" data type). The concequences are invalid results (upating the result to make it valid isn't a fix, it will only hide the issue).
As for the general "fix" you suggest, which looks a lot like "Good practices and discipline", it's a wishful thinking, alas our world do not run around this concept.


Stanford Question Answering Dataset

Description
Add the dataset to the basic datasets.
References

https://rajpurkar.github.io/SQuAD-explorer/

Hi @zachgk , can you please assign this to me? I am interested in taking this up.

Hi @zachgk , I am working on adding this dataset and understanding the general framework. I have one basic question about the dataset artifact's metadata.json. I see that the artifacts's uris are pinting to djl mlrepo ,so how are the artifacts added to this repo? Also, please also share some resources that I can refer to, if any. Thanks!

@ghost, once you have files ready, we can help you upload to s3 bucket. @lanking520 can provide more detail regarding format of metadata.json.
Maybe use our slack channel is a better way to work with you.

Thanks @frankfliu ! Will post any other clarifications on Slack! :-)

@codelessricky I just started a quick implementation to bring your own uploader: You can make a start from this branch: https://github.com/awslabs/djl/tree/model-upload/model-uploader to try it out. Please just be aware this is WIP and feel free to raise PR if you find anywhere wrong and add more feature.

Hi @zachgk, I'm interested in this issue and I want to work on it, so I wonder if you can assign it to me? Thanks!

You've got it @WHALEEYE. Feel free to post here or reach out to me if you have any questions

Hello @zachgk, I have a few questions.

In other datasets' metadata.json I found that the dataset files are uploaded to your server, so I wonder how should I upload the files to your server?
I'm little confused about the usage of the repository object dataset classes. It seems like it's used to resolve the metadata.json file, and also the dataset files if the URI is a relative path. The default repository object in the builder is a RemoteRepository object with URL https://mlrepo.djl.ai/, and my question is if I want to use the metadata.json under resource folder and use an absolute path as the URI in metadata.json, should I use LocalRepository instead (or should I upload the metadata.json to the server too)?

Thanks for answering!

Hi @zachgk, I've encountered some problem while adding SQuAD to the project.

At first I want to inherit the TextDataset class, but then I found that the get() method inherited from RandomAccessDataset returns a Record object containing two NDArrays, while in SQuAD each record will contain a context, a question, a list of answers and a list of indexes (we referred to PyTorch), so this seems not fit the structure of Record, so now I get a little confused about which class should I inherit.
Should I preprocess the string in the data, like embedding, while preparing the data (like TensorFlow), or just give user a record with the context and questions being raw strings (like PyTorch)?

Thanks for your answer!

We generally try to handle the preprocessing within the dataset class. There is a helper called TextData that we use to configure the dataset to know how to pre-process textual data, which should be pretty helpful to you. In fact, the TextDataset is just a wrapper around RandomAccessDataset that uses the TextData. You may want to take a look at the StanfordMovieReview dataset which is a good example of a text dataset. In summary, you probably want to inherit TextDataset but could also directly use RandomAccessDataset.
I think there may also be some confusion about Record. Record doesn't return an NDArray, but an NDList. We use the NDList as a tuple of arrays as well. So, your tuple might be something like Record(data=NDList(contextPreprocessed, questionPreprocessed), labels=NDList(answerPreprocessed, indices)).

I think I've got it. Thanks for answering!


New version: Mozilla.Firefox.ESR version 115.6.0

Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run

Emmm, what's going on with those? Is it my manifests or the CI system that's failing?

@wingetbot run


Improve RSpec/MultipleExpectations aggregate_failures detection

There are cases when two expects are actually a single expectation, specifically when testing matchers:
  it 'fails if the method is called with an unexpected argument', :reset do
    expect(receiver).to receive(:something).with(any_of(1, 2)).twice
    expect { receiver.something(3) }
      .to fail_with('unexpected arguments')
  end

In this case, MultipleExpectations complains that there are more than two expectations, even though the first expectation is an expectation under test.
This can be reworked as a nested expectation, neither test result or cop result change:
  it 'fails if the method is called with an unexpected argument', :reset do
    expect do
      expect(receiver).to receive(:something).with(any_of(1, 2)).twice
      receiver.something(3)
    end
      .to fail_with('unexpected arguments')
  end

I understand that by wrapping the whole example into an aggregate_failures do helps to pacify the cop, as does :aggregate_failures example metadata.
I'd agree to add :aggregate_failures to example group containing those examples. Would you accept a pull request that walks the ancestors to detect if it's set for those examples?

Sure, if setting :aggregate_failures to the example group changes the behavior of all examples in the group, we should respect that.

Can we check if aggregation is enabled globally too?
config.define_derived_metadata do
    meta[:aggregate_failures] = true
  end

Or should I just disable this cop entirely?

Disabling the cop entirely makes sense in this case @MatheusRich


[5.7] Enable passing options to custom presets

The ability to create our own presets is very convenient. But currently it is not possible to have customization in the user made preset commands by passing options to it. For example if i am making a preset for tachyon css and want the dev to choose a js framework from either vue or react along with the choice of creating auth pages nor not, its not possible with php artisan preset tachyon alone.
This pr enables passing of multiple values to the custom presets by adding a --pass option, which can be used as ...
php artisan preset tachyon --pass=vue --pass=cdn --pass=version:4.0 or
php artisan preset tachyon --pass=react --pass=auth
.
This opens many possibilities for creating presets which will simplify and make frontend dev much faster.
This is a non breaking change and works as intended without affecting the default presets.

The array of values passed can be accessed in the following way.
PresetCommand::macro('tachyon', function($command){
    $passedValues =  $command->option('pass'),
    ....
    ....
});

Why not just something like option?

Honestly, wasn't sure of using --pass either but all look the same to me. Had picked it up randomly after considering --extra (from ansible) and also --option initially. Im cool with anything.

If you want me to change the name, i'll also update the example in the description above.

I would prefer option over pass.

@taylorotwell done :)


Test againsts different PHP versions and guzzle versions

Test against

php 5.6
php 5.5

Test against

Guzzle 4
Guzzle 5
Guzzle 6

A new inspection was created.

The inspection completed: No new issues

A new inspection was created.

The inspection completed: No new issues


loading issue

after doing everything as i see in you tube when i load the code it says "bash: docker-compose: command not found"
can someone help

Make sure that you have Docker and docker-compose installed. See installation instructions

Make sure that you have Docker and docker-compose installed. See installation instructions


1.7 issue NameError: name 'config' is not defined

Investigating now. If I break where it errors I'm able to run this to make it work
from django.utils.functional import SimpleLazyObject
from constance import Config
config = SimpleLazyObject(Config)

Here is the stacktrace
Traceback (most recent call last):
File "manage.py", line 10, in <module>
  execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
  utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute
  django.setup()
File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 21, in setup
  apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
  app_config.import_models(all_models)
File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 202, in import_models
  self.models_module = import_module(models_module_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
  __import__(name)
File "/code/ecwsp/grades/models.py", line 6, in <module>
  from ecwsp.sis.models import Student, GradeScaleRule
File "/code/ecwsp/sis/models.py", line 10, in <module>
  from constance import config
ImportError: cannot import name config

Hmm, can you check if 'constance' is before the grades app in INSTALLED_APPS? On 1.7 it should assign the config instance to the module only via the AppConfig, so that when constance is loaded earlier the config object should be there.

Yep tried that first thing.  INSTALLED_APPS is ['constance', 'constance.backends.database', ......
Still investigating.

Doesn't seem right but this makes it run.
try:
    from django.apps import AppConfig  # noqa
except ImportError:
    config = SimpleLazyObject(Config)
else:
    default_app_config = 'constance.apps.ConstanceConfig'
    config = SimpleLazyObject(Config)

As I understand the docs

First Django imports each item in INSTALLED_APPS. At this point the constance __init__.py runs
Then Django attempts to import the models submodule of each application, if there is one. At this point models.py runs and imports constance. It errors!
Then Django attempts to import the models submodule of each application, if there is one. Now constance would run - but it errored in step 2.

It's possible that this error existed before but was disguised at import time due to the file config.py existing, which has since been renamed

Sigh, this really is messy. I went with a different way to make the config object lazy, does that work for you?

Seems to work, Thanks @jezdez Not sure what else could be done. We can't use ready() in this use case.

Released as 1.0.1.


Issues submitting app to Apple store

ERROR ITMS-90362: "Invalid Info.plist value. The value for the key 'MinimumOSVersion' in bundle WholeNet.app/Frameworks/Charts.framework is invalid. The minimum value is 8.0"

Thats is because Apple requires all frameworks to be of the same version as the app. Makes no sense but you have to change all your framework versions to match your app version. You can look at how artsy fixes this in their most recent app (see post_install method in the podfile) https://github.com/artsy/Emergence/blob/master/Podfile

i use“Drag the Charts.xcodeproj to your project”. do you have any idea about this

Ya it's not an iOS charts problem. It's an apple problem. Read what I posted earlier. Should fix your problem.

yes,i just want to know how to change Charts.xcodeproj framework versions,i think will fix my problem. thanks for read my pool english.

You need to change the version number in the plist

which key ？i changed MinimumOSVersion to 7.0. it is no use.

CFBundleShortVersionString

Also iOS 7 won't work. You need to use iOS 8 and above as mentioned in the readme.

thank you .this fix my problem. i change all version to iOS 8 .  thank you very much.


bump dependency

And remove vendor

/assign @nlgwcy

Good Job!
Please attach the mini_test execution result to the PR to ensure that the basic functions are normal. Thank you.

@lec-bit can you help run this test

Thu Jan 11 16:34:55 2024 - INFO  - 配置文件加载完成...
Thu Jan 11 16:34:56 2024 - INFO  - start to run testcase:oe_test_base_function.
Thu Jan 11 16:35:11 2024 - INFO  - The case exit by code 0.
Thu Jan 11 16:35:11 2024 - INFO  - End to run testcase:oe_test_base_function.
Thu Jan 11 16:35:11 2024 - INFO  - start to run testcase:oe_test_dark_launch_function.
Thu Jan 11 16:35:24 2024 - INFO  - The case exit by code 0.
Thu Jan 11 16:35:24 2024 - INFO  - End to run testcase:oe_test_dark_launch_function.
Thu Jan 11 16:35:24 2024 - INFO  - start to run testcase:oe_test_service_function.
Thu Jan 11 16:37:20 2024 - INFO  - The case exit by code 0.
Thu Jan 11 16:37:20 2024 - INFO  - End to run testcase:oe_test_service_function.
Thu Jan 11 16:37:20 2024 - INFO  - start to run testcase:oe_test_tcp_proxy_weight_cluster_function.
Thu Jan 11 16:37:35 2024 - INFO  - The case exit by code 0.
Thu Jan 11 16:37:35 2024 - INFO  - End to run testcase:oe_test_tcp_proxy_weight_cluster_function.
Thu Jan 11 16:37:35 2024 - INFO  - start to run testcase:oe_test_route_function.
Thu Jan 11 16:37:47 2024 - INFO  - The case exit by code 0.
Thu Jan 11 16:37:47 2024 - INFO  - End to run testcase:oe_test_route_function.
Thu Jan 11 16:37:47 2024 - INFO  - start to run testcase:oe_test_lb_policy_function.
Thu Jan 11 16:37:58 2024 - INFO  - The case exit by code 0.
Thu Jan 11 16:37:58 2024 - INFO  - End to run testcase:oe_test_lb_policy_function.
Thu Jan 11 16:37:58 2024 - INFO  - A total of 6 use cases were executed, with 6 successes and 0 failures.
The following test cases run success
--------------------------------------->
oe_test_base_function
oe_test_dark_launch_function
oe_test_lb_policy_function
oe_test_route_function
oe_test_service_function
oe_test_tcp_proxy_weight_cluster_function
<---------------------------------------

NOTICE:The test cases execution log is recorded in mugen-master/logs/kmesh/

UNINSTALL //usr/lib64/libkmesh_api_v2_c.so
UNINSTALL //usr/lib64/libkmesh_deserial.so
rm -rf /lib/modules/uname -r/kmesh.ko
rm -rf /lib/modules/kmesh
depmod -a
UNINSTALL //usr/bin/kmesh-daemon
UNINSTALL //usr/bin/kmesh-cmd
UNINSTALL //usr/bin/mdacore

/lgtm
/approve


Certificate Issues w/ apt or dnf

running 'apt update' or 'dnf update' and seeing certificate errors that prevent update from running

Check with network security team and request the system be excluded from network security requirements until the build is completed.


Add script mode mnist notebook

This notebooks shows how to use TensorFlow script mode with a python script.

oh yeah, one general comment: be consistent about whether or not you're using Oxford commas


[7.x] Fix line endings error for response test

This test fails on windows because of line-ending of the original file.
I think if the specification of the mock does not say that it replaces the line-endings of the mock file.
It should be tested like this.

You must configure git on Windows to check out the code using unix style line endings. This test will pass on Windows, if you do that (we actually run our tests on Windows now in CI).

Ahaa, nice 👍

@GrahamCampbell:
Should this line:
https://github.com/laravel/framework/blob/8a34c68e334b6108cc511b50747b3e70d4c152a8/.gitattributes#L1
be changed to:
* text eol=lf

AFAIK the https://git-scm.com/downloads Windows (MingW64) install will default global setting core.autocrlf to false so it will checkout with Unix \n. Windows devs would have to explicitly enable checkouts with \r\n:
git config --global core.autocrlf true

A .gitattributes update would ignore that global setting to ensure everyone local edits and runs Laravel tests with Unix newlines. Even notepad.exe in Windows 10 now supports editing files with \n. Microsoft innovation.

Yes, I think that is probably correct. Please send a PR to 6.x and remove the git config line from our github actions config.

@derekmd @GrahamCampbell I don't think that line should be changed? It's basically the same on every repo afaik.


Switch storage of default VS settings to use dotnet-file

Instead of an .ini file like we do now, just switch to the "standard" dotnet-file.

Switched to dotnet-config


Search type time not considered in section "if there are search fields loop thru them"

In the search function of the grid, it would be nice to have also a condition for the time fields, like this:
|| (search.type == 'time' && w2utils.isTime(value))
Thanks a lot

I created a PR: #1290
By the way, it's not hard to create a pull request yourself ;)

Thanks a lot. I was not sure if it was out for a reason.


ddev 1.22.0 with custom docker compose for Mercure does not work with traefik router but works with nginx-proxy

Is there an existing issue for this?

[X] I have searched the existing issues

Output of ddev debug test
Expand `ddev debug test` diagnostic information
======= Existing project config =========
These config files were loaded for project sandbox-sf6: [/home/tomderoo/ddev/sandbox-sf6/.ddev/config.yaml]
name: sandbox-sf6
type: php
docroot: public
php_version: 8.1
webserver_type: nginx-fpm
webimage: ddev/ddev-webserver:v1.22.0
additional_hostnames: []
additional_fqdns: []
database: {mariadb 10.4}
mailhog_port: 8025
mailhog_https_port: 8026
project_tld: ddev.site
use_dns_when_possible: true
composer_version: 2
nodejs_version: 18
default_container_timeout: 120
======= Creating dummy project named  tryddevproject-4910 in ../tryddevproject-4910 =========
OS Information: Linux tomderoo-ThinkPad-T14-Gen-3 5.19.0-46-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 21 15:35:31 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
User information: uid=1000(tomderoo) gid=1000(tomderoo) groups=1000(tomderoo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),135(lxd),136(sambashare),139(libvirt),999(docker)
DDEV version:  ITEM             VALUE
 DDEV version     v1.22.0
 architecture     amd64
 db               ddev/ddev-dbserver-mariadb-10.4:v1.22.0
 ddev-ssh-agent   ddev/ddev-ssh-agent:v1.22.0
 docker           24.0.5
 docker-compose   v2.20.0
 docker-platform  Ubuntu 22.04.2 LTS
 mutagen          0.17.2
 os               linux
 router           traefik:v2.10
 web              ddev/ddev-webserver:v1.22.0
PROXY settings: HTTP_PROXY='' HTTPS_PROXY='' http_proxy='' NO_PROXY=''
======= DDEV global info =========
Global configuration:
instrumentation-opt-in=true
omit-containers=[]
performance-mode=none
router-bind-all-interfaces=false
internet-detection-timeout-ms=3000
disable-http2=false
use-letsencrypt=false
letsencrypt-email=
table-style=default
simple-formatting=false
auto-restart-containers=false
use-hardened-images=false
fail-on-hook-fail=false
required-docker-compose-version=v2.20.0
use-docker-compose-from-path=false
project-tld=
xdebug-ide-location=
no-bind-mounts=false
router=traefik
wsl2-no-windows-hosts-mgt=false
router-http-port=80
router-https-port=443

======= DOCKER info =========
docker location: -rwxr-xr-x 1 root root 35927416 jul 21 22:35 /usr/bin/docker
docker version:
Client: Docker Engine - Community
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Fri Jul 21 20:35:18 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       a61e2b4
  Built:            Fri Jul 21 20:35:18 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
DOCKER_DEFAULT_PLATFORM=notset
======= Mutagen Info =========
======= Docker Info =========
Docker platform: Ubuntu 22.04.2 LTS
Using docker context: default (unix:///var/run/docker.sock)
docker-compose: v2.20.0
Using DOCKER_HOST=unix:///var/run/docker.sock
Docker version: 24.0.5
Able to run simple container that mounts a volume.
Able to use internet inside container.
Docker disk space:
Filesystem                Size      Used Available Use% Mounted on
overlay                 913.8G    263.9G    603.3G  30% /

 Container ddev-sandbox-sf6-mercure-hub  Stopped
 Container ddev-sandbox-sf6-db  Stopped
 Container ddev-sandbox-sf6-web  Stopped
 Container ddev-sandbox-sf6-db  Stopped
 Container ddev-sandbox-sf6-web  Stopped
 Container ddev-sandbox-sf6-mercure-hub  Stopped
 Container ddev-sandbox-sf6-mercure-hub  Removed
 Container ddev-sandbox-sf6-db  Removed
 Container ddev-sandbox-sf6-web  Removed
 Network ddev-sandbox-sf6_default  Removed
Project sandbox-sf6 has been stopped.
The ddev-ssh-agent container has been removed. When you start it again you will have to use 'ddev auth ssh' to provide key authentication again.
Existing docker containers:
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                    PORTS     NAMES
511acd92e771   1065b367a7c5   "/bin/sh"                2 hours ago    Created                             phpstorm_helpers_PS-231.9225.18
8f16f7b2495c   7a546d03c39d   "/bin/sh"                2 weeks ago    Created                             phpstorm_helpers_PS-231.9161.47
6dbfbafa35a4   ea2c691c59b1   "/bin/sh"                2 months ago   Created                             phpstorm_helpers_PS-231.9011.38
4b15883d5d2b   ba24e115912e   "/bin/sh"                3 months ago   Created                             phpstorm_helpers_PS-231.8109.199
b6298d47d7d2   2986bb9a7b89   "/bin/sh"                4 months ago   Created                             phpstorm_helpers_PS-223.8836.42
2d4a9a160389   60ad69959caa   "/bin/sh"                4 months ago   Created                             phpstorm_helpers_PS-223.8617.59
b569ae9e043f   lawcloud       "/entrypoint supervi…"
 Container ddev-ssh-agent  Created
 Container ddev-ssh-agent  Started
ssh-agent container is running: If you want to add authentication to the ssh-agent container, run 'ddev auth ssh' to enable your keys.
 Network ddev-tryddevproject-4910_default  Created
 Container ddev-tryddevproject-4910-web  Created
 Container ddev-tryddevproject-4910-db  Created
 Container ddev-tryddevproject-4910-web  Started
 Container ddev-tryddevproject-4910-db  Started
 Container ddev-router  Created
 Container ddev-router  Started
Successfully started tryddevproject-4910
Project can be reached at https://tryddevproject-4910.ddev.site https://<IP_ADDRESS>:32986
======== Curl of site from inside container:
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 27 Jul 2023 09:25:45 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding

======== curl -I of http://tryddevproject-4910.ddev.site from outside:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Thu, 27 Jul 2023 09:25:45 GMT
Server: nginx
Vary: Accept-Encoding

======== full curl of http://tryddevproject-4910.ddev.site from outside:
Success accessing database... db via TCP/IP
ddev is working. You will want to delete this project with 'ddev delete -Oy tryddevproject-4910'
======== Project ownership on host:
drwxr-xr-x 4 tomderoo tomderoo 4096 jul 27 11:25 ../tryddevproject-4910
======== Project ownership in container:
drwxr-xr-x 4 tomderoo tomderoo 4096 Jul 27 09:25 /var/www/html
======== In-container filesystem:
Filesystem                Type 1K-blocks      Used Available Use% Mounted on
/dev/mapper/vgubuntu-root ext4 958137496 276929900 632463148  31% /var/www/html
======== curl again of tryddevproject-4910 from host:
Success accessing database... db via TCP/IP
ddev is working. You will want to delete this project with 'ddev delete -Oy tryddevproject-4910'
Thanks for running the diagnostic. It was successful.

Expected Behavior
I created a sandbox project here: https://github.com/tomderoo/sandbox-sf6-mercure-ddev . Check the readme for more info, like the ddev global config.
My expected behaviour will focus on that project.

Have ddev 1.22.0 active with traefik router
Run ddev start
Run ddev composer install to have the full app
Visit https://sandbox-sf6.ddev.site/ in your modern browser
NOT see an error
Run ddev php bin/console app:mercure:run on your command line
See a funky colored box appear that changes color with every update

NOTE: this behavior is actually what happens when the ddev router is the deprecated nginx-proxy. It just does not work when the router is traefik.
NOTE 2: this issue originated in https://github.com/ddev/ddev/issues/5196 where I noticed how traefik as a router added port 9999 to router config even if there was already a 9999 present (which was my originale Mercure https port). See the comments over there for more info.
Actual Behavior

On visiting https://sandbox-sf6.ddev.site/ an error appeared; this is my code telling that connection to the Mercure hub failed
You may also notice a 502 in the console when you have browser inspection open
Visiting the Mercure hub url directly on https://sandbox-sf6.ddev.site:10002/.well-known/mercure?topic=whateverwill also show a 502

Steps To Reproduce

Have ddev 1.22.0 active with traefik router
Run ddev start
Run ddev composer install to have the full app
Visit https://sandbox-sf6.ddev.site/ in your modern browser

Anything else?
No response

I had to do a ddev delete to get this to work with nginx-proxy, but then I see it working and inside ddev ssh. ddev php bin/console a:mercure:run shows successful pushes. The web page doesn't update, but I doubt that mattters:
$ curl -I https://sandbox-sf6.ddev.site:10002/.well-known/mercure?topic=whatever
HTTP/2 200
server: nginx/1.20.1
date: Thu, 27 Jul 2023 17:21:17 GMT
content-type: text/event-stream
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
content-security-policy: default-src 'self' mercure.rocks cdn.jsdelivr.net
expire: 0
pragma: no-cache
x-content-type-options: nosniff
x-frame-options: DENY
x-xss-protection: 1; mode=block

With the traefik router I see:
$ curl -I https://sandbox-sf6.ddev.site:10002/.well-known/mercure?topic=whatever
HTTP/2 502
content-type: text/plain; charset=utf-8
content-length: 11
date: Thu, 27 Jul 2023 17:25:55 GMT

Which seems to mean that the downstream container (mercure-hub) is giving a 502.
Using direct access inside the web container I see this:
$ curl -I http://mercure:3000/.well-known/mercure?topic=whatever
HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Connection: keep-alive
Content-Security-Policy: default-src 'self' mercure.rocks cdn.jsdelivr.net
Content-Type: text/event-stream
Expire: 0
Pragma: no-cache
Server: Caddy
X-Accel-Buffering: no
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Xss-Protection: 1; mode=block
Date: Thu, 27 Jul 2023 17:28:02 GMT

I'm pretty sure mercure is blocking the connection from the traefik router because of CSP issues (not knowing who is "self"?
docker logs -f ddev-router shows this:
<IP_ADDRESS> - - [27/Jul/2023:17:36:27 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 14 "ping@internal" "-" 0ms
time="2023-07-27T17:37:09Z" level=debug msg="'502 Bad Gateway' caused by: dial tcp: lookup ddev-sandbox-sf6-mercure on <IP_ADDRESS>:53: no such host"
<IP_ADDRESS> - - [27/Jul/2023:17:37:09 +0000] "HEAD /.well-known/mercure?topic=whatever HTTP/2.0" 502 11 "-" "-" 15 "sandbox-sf6-mercure-3000-https@file" "http://ddev-sandbox-sf6-mercure:3000" 6ms

So it's unable to actually look up the hostname ddev-sandbox-sf6-mercure.
It turns out that you named the container differently than the service is named. You named the service "mercure" but then gave the container the name ddev-sandbox-sf6-mercure-hub
I'll do a PR to your demo to fix.

Fixed by

https://github.com/tomderoo/sandbox-sf6-mercure-ddev/pull/1

@rfay Fascinating! I never considered that; those were all "factory settings", so to speak, from a post from a few years ago on how to get Mercure running with ddev/docker. Thanks for the effort, I learned quite a bit from your elaborate diagnosis and fix. I still have no idea why it did work with nginx-proxy, but that does not really matter I guess.
I see the web page funky color box updating as it should now. And I am glad it is just a config error and not something wrong with traefik :+1:

The reason it worked with legacy router and not with traefik is that the legacy router actually mounts the docker socket into the container and listens to what is going on all over the docker world, and figures out what to do. So it got accurate information, but at the cost of a very serious security vulnerability (anybody with access to ddev-router could take any action that docker allowed). So the traefik setup is completely different. DDEV gives it configuration and it behaves according to that configuration. However it does seem like DDEV should have been able to figure this out by using the (odd and different) container name that you specified.


16kHz model is needed!

most speech dataset are 16 kHz, can you provide well-trained 16kHz model?

+1
Could you please also provide a well-trained 16kHz model? As 16kHz is the most common speech sample rate.

https://github.com/yangdongchao/AcademiCodec
this warehouse provides model weights of 16kHz

I'm very interested in a very low birate mode (< 1.5 kbps). Would the use of 16 kHz samplerate help us to have a lower minimum bitrate?


Error checking message integrity

In the check_integrity method the line
         raise BadRequestError, 'Error checking message integrity'.freeze \
           unless valid_signature?

always raises the exception. I don't understand why but Is this because facebook changed something??
Or does the generate_hmac(content) method needs some change?

Hi @rafayet-monon! Are you still having this issue? Since nobody else seems to be having it, I suspect it might be that you're missing some configuration or might have gotten your secret key from Facebook wrong. Feel free to reopen this issue if not and I'll try to help out.


Allow patches for merge-descriptors dependency

The line in package.json on that dependency is 9 years old.
There were two patches to that package since then.
Because the dependency version is fixed, it can not be deduplicated if a newer version is also installed by another dependency.
I'm suggesting to allow patches. There should be no harm in it.

Hey, I generally agree with this but need to mention this has historically been the policy of the project::
Dependencies not directly "owned" bu the Express project are pinned.
I think our goal while taking over operations for these packages was to keep mostly the same for the v4 lines and apply new policies going forward in v5. Would you be willing to open two PRs, one to master with just an update to the latest in that major line and one against 5.x with a change to update this to accept incoming minors as well (^ prefix)?

okay. I will set 1.0.3 then, @wesleytodd

Made another one for v5, @wesleytodd
#5782

It's been month this PR is waiting to be merged, @wesleytodd


Re-enable HD wallet with Ledger support

There are currently two specifications for ed25519 HD.

SLIP-0010, https://github.com/satoshilabs/slips/blob/master/slip-0010.md
BIP32-ED25519, https://cardanolaunch.com/assets/Ed25519_BIP.pdf

Based on limited survey, both specs are being used.
Ledger started to support BIP32-ED25519 since the 1.5.5 firmware, as reported in https://www.ledger.com/ledger-releases-a-new-nano-s-firmware-update/.
SLIP-0010 has been used by various projects, see the dependent projects  https://github.com/alepop/ed25519-hd-key/network/dependents

A reference implementation of BIP32-ED25519 has been made available by Ledger at https://github.com/LedgerHQ/orakolo/blob/master/src/python/orakolo/HDEd25519.py

Would like to consider this for Milestone 1.5.0

Key recovery attack on BIP32-Ed25519, Web3 Foundation
https://forum.web3.foundation/t/key-recovery-attack-on-bip32-ed25519/44

See #231


Consider using anonymous define #44

It works for Dojo.

Does this break other AMD implementations?

I only tested it with Dojo, but I think it should work with any AMD loader. After a little read, I believe that the named modules are only necessary for compatibility with non AMD code:
".. the module_id is an optional argument which is typically only required when non-AMD concatenation tools are being used .." -> (http://addyosmani.com/writing-modular-js/)
Here is an interesting thought about this topic (with some other references inside):
https://groups.google.com/forum/#!topic/amd-implement/VAtOIIyVrOs
Thanks for your time!

Adds the fix for issue #47
Now it works as described in readme, but without the need of setting a subscription to the publishing channel ("application:chat:receiveMessage"):
// will call parents of the application:chat:receiveMessage namespace
// (that is, next it will call all subscribers of application:chat, and then
// application). It will not recursively call subchannels - only direct subscribers.
mediator.publish("application:chat:receiveMessage", "Jack Lawson", "Hey");


Add check for unrooted Entrypoints

WIP to fix https://github.com/rainersigwald/containers/issues/44
Questions:

[ ] Should we catch this in ParseContainerProps or CreateNewImage?
My thought is in CreateNewImage, since the info is conveniently there. Maybe parsecontainerprops can log a warning, and createnewimage does the path combining.

I think there's a wrinkle here - any 'is rooted' check would need to take the WorkingDirectory if any into account.  It's perfectly viable to have an un-rooted EntryPoint if the WorkingDirectory is set appropriately. I think the behavior we do in the targets where we prepend the WorkingDirectory to the SelfContained entrypoint is entirely because we didn't have the container Entrypoint metadata correct at that time.
So overall, I think we should

remove $(ContainerWorkingDirectory) from the Self-Contained ContainerEntryPoint item
verify that a 'floating' entrypoint like this works in the generated container
consider if this means that rooting validation is too hard to be valueable?

I see. Checking !Path.IsRooted(WorkingDir + Entrypoint) doesn't seem too bad. Presumably this only happens in the SelfContained case? since dotnet foo could be valid & on the path?

verify that a 'floating' entrypoint like this works in the generated container
consider if this means that rooting validation is too hard to be valueable?

By verify, would that mean uploading and testing the container while within the task? Or did you mean validate this ourselves and apply the checks such that we know it will work?

verify that a 'floating' entrypoint like this works in the generated container

By this I meant that we'd try this, build a container with a set WorkingDirectory an a 'floating' entrypoint, and then see if that container can be executed correctly. If it can (and the non-SelfContained case suggests it can, as well as our existing Dockerfile samples), then we probably don't need to root EntryPoints at all, or warn.

I won't be getting back to this. Anyone who wants to contribute is welcome to reuse some of this code, but it might be easier to start from scratch 🙂


[#80][Part-3] feat: add REST API for decommisson

What changes were proposed in this pull request?
Add REST API for decommisson
Why are the changes needed?
Support shuffle server decommission. It is a part of #80
Does this PR introduce any user-facing change?
Env:
Server IP: <IP_ADDRESS>
HTTP port: 19998
RPC port: 19999
Decommission example:
curl -XPOST -H "Content-type:application/json" "http://<IP_ADDRESS>:19998/api/server/decommission" -d '{"serverIds:": ["<IP_ADDRESS>:19999"]}'
Cancel decommission example:
curl -XPOST -H "Content-type:application/json" "http://<IP_ADDRESS>:19998/api/server/cancelDecommission" -d '{"serverIds:": ["<IP_ADDRESS>:19999"]}'
Get server list:
/api/server/nodes[?id={serverId}][?status={serverStatus}]
curl  "http://<IP_ADDRESS>:19998/api/server/nodes?status=DECOMMISSIONING"
curl  "http://<IP_ADDRESS>:19998/api/server/nodes?status=ACTIVE"
How was this patch tested?
UT

Codecov Report

Merging #684 (ea37b61) into master (313ddd6) will increase coverage by 0.84%.
The diff coverage is 23.28%.

@@             Coverage Diff              @@
##             master     #684      +/-   ##
============================================
+ Coverage     60.79%   61.64%   +0.84%
+ Complexity     1839     1750      -89
============================================
  Files           221      203      -18
  Lines         12655    10194    -2461
  Branches       1069     1027      -42
============================================
- Hits           7694     6284    -1410
+ Misses         4553     3577     -976
+ Partials        408      333      -75

Impacted Files
Coverage Δ

...a/org/apache/uniffle/coordinator/web/Response.java
0.00% <0.00%> (ø)

...e/uniffle/coordinator/web/servlet/BaseServlet.java
10.00% <10.00%> (ø)

.../uniffle/coordinator/web/servlet/NodesServlet.java
30.00% <30.00%> (ø)

...dinator/web/servlet/CancelDecommissionServlet.java
33.33% <33.33%> (ø)

...e/coordinator/web/servlet/DecommissionServlet.java
33.33% <33.33%> (ø)

.../apache/uniffle/coordinator/CoordinatorServer.java
59.37% <100.00%> (+1.99%)
:arrow_up:

.../java/org/apache/spark/shuffle/RssSparkConfig.java

...ava/org/apache/spark/shuffle/RssShuffleHandle.java

deploy/kubernetes/operator/pkg/utils/config.go

...y/kubernetes/operator/pkg/webhook/inspector/pod.go

... and 19 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

From the example listed in description, I have questions

Do we support decommission multiple server in one request?
Can we list all decommissioning and decommissioned servers?

From the example listed in description, I have questions

Do we support decommission multiple server in one request?
Can we list all decommissioning and decommissioned servers?

Updated. Now supported.

@xianjingfeng There is a flaky test. https://github.com/apache/incubator-uniffle/actions/runs/4335961089/jobs/7570925520

@xianjingfeng There is a flaky test. https://github.com/apache/incubator-uniffle/actions/runs/4335961089/jobs/7570925520

Updated

Env: Server IP: <IP_ADDRESS> HTTP port: 19998 RPC port: 19999
Decommission example: curl -XPOST -H "Content-type:application/json" "http://<IP_ADDRESS>:19998/api/server/decommission" -d '{"serverIds:": ["<IP_ADDRESS>:19999"]}'
Cancel decommission example: curl -XPOST -H "Content-type:application/json" "http://<IP_ADDRESS>:19998/api/server/cancelDecommission" -d '{"serverIds:": ["<IP_ADDRESS>:19999"]}'
Get server list: /api/server/nodes[?id={serverId}][?status={serverStatus}] curl "http://<IP_ADDRESS>:19998/api/server/nodes?status=DECOMMISSIONING" curl "http://<IP_ADDRESS>:19998/api/server/nodes?status=ACTIVE"

Thanks @xianjingfeng for the work. I suggest adding some docs for this, in this PR or part-4.

@smallzhongfeng Could you help me review this pr?

Env: Server IP: <IP_ADDRESS> HTTP port: 19998 RPC port: 19999
Decommission example: curl -XPOST -H "Content-type:application/json" "http://<IP_ADDRESS>:19998/api/server/decommission" -d '{"serverIds:": ["<IP_ADDRESS>:19999"]}'
Cancel decommission example: curl -XPOST -H "Content-type:application/json" "http://<IP_ADDRESS>:19998/api/server/cancelDecommission" -d '{"serverIds:": ["<IP_ADDRESS>:19999"]}'
Get server list: /api/server/nodes[?id={serverId}][?status={serverStatus}] curl "http://<IP_ADDRESS>:19998/api/server/nodes?status=DECOMMISSIONING" curl "http://<IP_ADDRESS>:19998/api/server/nodes?status=ACTIVE"

Thanks @xianjingfeng for the work. I suggest adding some docs for this, in this PR or part-4.

Done

The GA failure cause by CoordinatorMetricsTest, could you rebase the latest code and trigger test again ?

Thanks @xianjingfeng for the work, and thanks everyone reviewing.


added single message pickup feature

Added single message pickup feature for querying messages with a message_id value. This feature might be useful for push notification communication because of the agent message sizes can be exceed data limits for push notifications very easily.

I like the latest update.
@TelegramSam , as a person who's advocated pickup often, what feedback do you have?

Should there be any "register" function? I guess all the messages of the all users should not be stored and provided by this function. User should request for registering themselves for using message pickup feature.

@TelegramSam and @dhh1128 , should there be any "register" function? I guess all the messages of the all users should not be stored and provided by this function. User should request for registering themselves for using message pickup feature.

Users can only pick up messages intended for them. This is verified either by the key used for the pickup request, or via keys registered for routing as part of that protocol.

@TelegramSam and @dhh1128 , should there be any "register" function? I guess all the messages of the all users should not be stored and provided by this function. User should request for registering themselves for using message pickup feature.

Users can only pick up messages intended for them. This is verified either by the key used for the pickup request, or via keys registered for routing as part of that protocol.

I mean, user will be able to query their stored messages with id or gather with batch operation. But, as a mediator, system shouldn't store messages of all the users. I think each user should register themselves for pickup feature and then the system should start to store their messages and provide with pickup feature.

The registration option seems well covered by RFC 0211. Was there something different than you imagined?

@TelegramSam and @dhh1128 ,
Should there be any handshaking protocol? Let's assume this scenario:
Edge agent queries messages with batch query and mediator returns messages but an error occurs while edge agent is processing some of the messages. When edge agent queries its messages again with batch query, messages whose process not completed by the edge agent should be return by the mediator. So, edge agent should send "ack" after it completes process each messages.

Should there be any handshaking protocol? Let's assume this scenario...

You are now describing something that is very, very close to the IMAP protocol. I think we could learn some things from it. It explicitly separates pickup from the release-from-server-storage process. That is, you fetch messages. Entirely separate from that, you can delete messages held on an IMAP server. You might delete messages you've fetched, or messages you've not fetched. They are just two separate operations.
Although I think the above may be useful input, I confess that as I see us inventing something so similar to IMAP, I am becoming uncomfortable about the feature. Maybe we should abandon it entirely, and simply tell agents who want this behavior to use IMAP as their transport. All this complexity would vanish, and there would be a lot less code to write.

Should there be any handshaking protocol? Let's assume this scenario...

You are now describing something that is very, very close to the IMAP protocol. I think we could learn some things from it. It explicitly separates pickup from the release-from-server-storage process. That is, you fetch messages. Entirely separate from that, you can delete messages held on an IMAP server. You might delete messages you've fetched, or messages you've not fetched. They are just two separate operations.
Although I think the above may be useful input, I confess that as I see us inventing something so similar to IMAP, I am becoming uncomfortable about the feature. Maybe we should abandon it entirely, and simply tell agents who want this behavior to use IMAP as their transport. All this complexity would vanish, and there would be a lot less code to write.

You right @dhh1128, it is close to IMAP, but defining a standard for message storing and forwarding  mechanism would be very useful for mediator approach and also this approach seems like easy for integrating edge agents, isn't it?

@dgunseli : : What would you like to do about this PR? I am trying not to let it languish without attention...

@dhh1128 and @TelegramSam,
All requests were done. Can you review the changes?

I am okay with merging this. @TelegramSam ?

@dhh1128 can you approve the requested changes?


Date Parsing error

When testing https://github.com/mconfalonieri/external-dns-hetzner-webhook/ which is using this library I got the following error
level=error msg="Failed to get Records: error while parsing date '2020-04-07 01:52:42.30185114 +0000 UTC m=+554.428223568'"

To me it looks like a mismatch in number of fractional second digits:
https://github.com/jobstoit/hetzner-dns-go/blob/2f5109d41f30d9142bd3dac4912ab4373272c257/dns/schema/hdns_time.go#L31C1-L31C89
Maybe switching the template to .9999 instead of .0000 like:
hdns_time_layout_2 := "2006-01-02 15:04:05.999999999 -0700 UTC"
might fix it. Can't test it myself right now.

I'll look into it tank you for reporting


Create mnsuam.txt

@mubashir-rehman First stage of verification passed, official domain is mnsuam.edu.pk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

Thanks Mr. Torchinsky for the confirmation.

@mubashir-rehman Pull request merged. Thank you.


feat: Modified custom scrollbar .

Title and Issue number
Title : Improving the custom scrollbar .
Issue No. : #1137
Code Stack : HTML,CSS
Close #1137
Description
I have added a custom scrollbar whose UI matches with the website . This scrollbar can be dragged up and down easily and thus enables both upward and downward scrolling .
Video/Screenshots (mandatory)

https://github.com/user-attachments/assets/e0d4bee5-620f-4800-8286-ba1d28999014
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[x] I have performed a self-review of my code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have gone through the  contributing.md file before contributing

Additional context:

##Are you contributing under any Open-source programme?
Yes

[x] I am contributing under GSSOC'24
[ ] I am contributing under VSOC'24

@apu52 done .


feature: all components are related and able to be pakcaged and imported

#9  #10

Also can we try to move as much packages to peerDependency?  e.g emotion and chakra ui, framer-motion, i18next related, react-dom, they should all be using in our other main projects.  Not moving will lead to version issues.
jest-environment-jsdom can you check why we need this package?  Is it for test?  If it is, should it be in dependency or devDependency?

@Risk-taker0501 Also, pls use npm instead of yarn.

I will check and fix following your opinion, asap.

Please link the PR back to task

Okay. I got it. I will link PR to task

In rollup.config.js, line 9, you:
const input = './src/App.tsx';

However in App.tsx, you only:
export default App;

As said I expect to export all individual components so I have flexibility to compose them whichever way we need in main projects.
Please help to do the exports.

I think this pull request has to be removed.
I will create PR, today after fix.

How do you think, close this PR or merge, now?

How do you think, close this PR or merge, now?

Both are fine.  Your work is not bad as a first PR.  Just some coop issues.  Also in future, I will need your help to read clearly the task spec, think through it, especially think through when you know more about the repo / project when you work longer.

I think that first, merge this PR and based on this PR, I will fix asap following your opinion and create new PR.
Is this okay?

You can actually build a new PR based on this PR
Or, you can continue to submit code to this PR
Do you use GitHub Desktop?  If yes, you can easily swap to the PR branch and send in new commits

I will continue to submit new code to this PR.

changed to use npm from yarn.
fixed peerDpendencies
deleted unusable packages
jest environment is necessary
liked PR to tasks
change project to be able to run in React(16~18)

Hi @Risk-taker0501 thanks for the hard work.
No time to test the code, but I trust the code must be runnable.  It's my very bad habit of merging uncertain code into main branch.  Let me do it once to keep the project going.  I will come back and test tomorrow.


Fix Memory Leak

C.CString(), which convert a Go string to a C string, allocates the C string in the C heap. We have to free it.
https://github.com/golang/go/wiki/cgo#go-strings-and-c-strings

One important thing to remember is that C.CString() will allocate a new string of the appropriate length, and return it. That means the C string is not going to be garbage collected and it is up to you to free it. A standard way to do this follows.

I confirmed that the code is the only use of C.CString() in our project; no other use of the function.


Reconfigure Golangci Linter

These aren't technically breaking changes because no code logic is supposed to be changed. However, there may be errors in translation. These improvements are beneficial over the long term for a more maintainable (and contributor-friendly) code base.
Style
Removed over 200 occurrences of nakedreturns. A lot of unhandled errors (that are now handled). A lot of setting errors (inside the if statement) before returning (as opposed to simply returning the error).
I placed recommendations for disabled linters in .golangci.yml. Edits by maintainers is allowed (as usual).

https://github.com/bwmarrin/discordgo/issues/1132


Skeletal form of Project Portfolio Page

Create a skeletal version of your Project Portfolio Page (PPP).
Just the headings are enough. You can write to be added soon as placeholders for content.
PDF conversion not required.
(Task for everyone)

#11 closes Matthew's part

Completion:

[] Kenvyn
[] Matthew
[] Bing Heng
[] Xihua


docs: add changelog entries for 0.37.1

SUMMARY
Update CHANGELOG and UPDATING entries for 0.37.1.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

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

@@            Coverage Diff             @@
##           master   #10893      +/-   ##
==========================================
- Coverage   59.32%   59.27%   -0.06%
==========================================
  Files         776      776
  Lines       37060    37060
  Branches     3310     3310
==========================================
- Hits        21986    21966      -20
- Misses      14891    14908      +17
- Partials      183      186       +3

Flag
Coverage Δ

#cypress
55.39% <ø> (-0.16%)
:arrow_down:

#python
61.35% <ø> (ø)

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

Impacted Files
Coverage Δ

superset-frontend/src/reduxUtils.ts
53.62% <0.00%> (-10.15%)
:arrow_down:

superset-frontend/src/SqlLab/actions/sqlLab.js
21.36% <0.00%> (-3.64%)
:arrow_down:

superset-frontend/src/SqlLab/reducers/sqlLab.js
12.86% <0.00%> (-1.66%)
:arrow_down:

...set-frontend/src/dashboard/util/getDropPosition.js
68.25% <0.00%> (ø)

...rontend/src/SqlLab/components/QueryAutoRefresh.jsx
65.90% <0.00%> (+18.18%)
:arrow_up:

Continue to review full report at Codecov.

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


Upgrading to grpc 1.39.0 makes our cmake-install build too slow

Step #3: GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/16a86463-87c8-4b20-ae98-bc8913b3de7a;tab=detail?project=cloud-cpp-testing-resources
Step #3: Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/7046/2fcd9ef25cf6c6221ea8af73def9e9d0ebe05ea5/fedora-34-cmake-install/log-16a86463-87c8-4b20-ae98-bc8913b3de7a.txt
We upgraded grpc from 1.38.1 to 1.39.0 and our cmake-install build became unusably slow, so we rolled it back. To roll this change forward git revert ba41d5a99818922b09eee5da148786c1d68c17f5 (ba41d5a99818922b09eee5da148786c1d68c17f5)
The slow line is:
https://github.com/googleapis/google-cloud-cpp/blob/727bc4f4676a75a97cec91247bcdd78741cf7204/ci/verify_deprecated_targets/CMakeLists.txt#L79
The line is slow when checking a module that links with grpc, like google_cloud_cpp_grpc_utils
I suspect there may be some change in this version of grpc to its pkg-config files. Maybe it's also exposing a bug in pkg-config itself, maybe similar to https://github.com/googleapis/google-cloud-cpp/pull/6846
NOTE: We need to figure this out because we need to be able to upgrade gRPC

@veblush FYI

We see this in a docker image w/ the following info:
Step #3: ====================
Step #3: |   Machine Info   |
Step #3: ====================
Step #3:      host: 2021-07-23 14:50:49+00:00
Step #3:    google: 2021-07-23 14:50:49+00:00
Step #3:    kernel: #49~18.04.1-Ubuntu SMP Fri Jun 18 21:33:55 UTC 2021
Step #3:        os: PRETTY_NAME="Fedora 34 (Container Image)"
Step #3:     nproc: 32
Step #3:       mem: 125.81 GiB
Step #3:      term: dumb
Step #3:       gcc: gcc (GCC) 11.1.1 20210531 (Red Hat 11.1.1-3)
Step #3:     clang: clang version 12.0.0 (Fedora 12.0.0-2.fc34)
Step #3:        cc: cc (GCC) 11.1.1 20210531 (Red Hat 11.1.1-3)

I just discovered that fedora uses pkgconf not pkg-config. The project is https://github.com/pkgconf/pkgconf. Fedora 34 uses pkgconf 1.7.3.

I suspect the reason for the slowness is that grpc moved a bunch of linker flags from the pkg-config Libs: line to Requires:.
grpc 1.38.1
$ cat /usr/local/lib/pkgconfig/grpc++.pc
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: gRPC++
Description: C++ wrapper for gRPC
Version: 1.35.0
Cflags: -I${includedir}
Requires: grpc
Libs: -L${libdir} -lgrpc++ -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_hash -labsl_city -labsl_statusor -labsl_bad_variant_access -labsl_status -labsl_cord -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_bad_optional_access -labsl_raw_logging_internal -labsl_log_severity
Libs.private:

grpc 1.39.0
$ cat /usr/local/lib/pkgconfig/grpc++.pc
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: gRPC++
Description: C++ wrapper for gRPC
Version: 1.39.0
Cflags: -I${includedir}
Requires: grpc absl_base absl_bind_front absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time
Libs: -L${libdir} -lgrpc++
Libs.private:

NOTE: I do not think that this is a gRPC bug. But it may have exposed a bug, or inefficiency, in the pkg-config implementation where it's just slow on packages with lots of "requires" libraries.

FWIW, here's the gRPC PR that introduced this change: https://github.com/grpc/grpc/pull/25840
AFAICT, gRPC seems to be using pkg-config correctly. I don't see anything wrong that gRPC is doing wrt pkg-config. This just may be a bug or limitation of pkg-config itself.

Is there a "fix" that gRPC could/should make? I don't see it.
Is there a "fix" or workaround that we could make?
Are we using pkg_check_modules correctly? Should we be using that?

At this point, I'm suspecting that pkg-config simply does not scale well.

@derekmauro and @dinor7c JFYI
Summary: Cloud C++ upgraded to grpc 1.39.0 and our builds that use pkg-config got really slow. We had to roll back. The issue is that grpc listed all of its pkg-config deps (which are mostly Abseil deps) in its Requires: line. For some reason, this makes pkg-config (actually pkgconf on fedora) quite slow. I think this is actually a pkg-config performance problem; I do not think grpc nor abseil are necessarily doing anything wrong.

Fedora 34 by default uses pkgconf 1.7.3 from https://github.com/pkgconf/pkgconf. This version shows the problem in this issue.
docker:fedora-34$ time pkgconf google_cloud_cpp_grpc_utils --libs-only-l --static
...
real    0m5.019s

I compiled pkg-config 0.29.0 from https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz , and this version does NOT show the problem.
docker:fedora-34$ time ./pkg-config google_cloud_cpp_grpc_utils --libs-only-l --static
...
real    0m0.226s

@devjgm Thank you for the investigation! I didn't know there is another pkg-config, pkgconf. From what Fedora said, chances are more Linux distributions would replace pkg-config with pkgconf so fixing this problem will save us in future. In that sense, thank you for filing the issue on pkgconf!


Fixes issue #139

Profile card of Shrishti Soni now has borders

Profile card of Shrishti Soni now has borders

fix it

class="fa-brands fa-x-twitter">


Menu bar does not work in Microsoft Edge browser

The menu bar does not work in Microsoft's Edge browser (Windows 10) - Buttons are not recognized as links.

Had @speciousstream9 test it and she says it is slightly off but not non-functional. So it sounds like we need to tweak the CSS slightly for IE - make sure that it is using floats correctly etc :)

We've since reworked the entire menu bar across our site, so this should no longer be an issue.


workspace deletion

Signed-off-by: Leena Jawale<EMAIL_ADDRESS>issue:- https://issues.redhat.com/browse/CMCS-35

/cc @robinbobbitt


Use asynchonus call to TaskTracker

Related to #3031

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

@aquamatthias any concern about out-of-order completion of health status updates?

either way: actor message or TrieMap
On Mon, Dec 5, 2016 at 9:58 AM, janisz<EMAIL_ADDRESS>wrote:

@janisz commented on this pull request.
In src/main/scala/mesosphere/marathon/core/health/impl/
HealthCheckActor.scala https://github.com/mesosphere/marathon/pull/4773:

   }

 healthByInstanceId += (instanceId -> newHealth)

 futureHealth.onComplete {

   case Success(newHealth) =>

     healthByInstanceId += (instanceId -> newHealth)

Agree, this is dangerous. How about sending complete function back to
actor to have proper locking and state updating? Actor will have another
case class (e.g., Complete) that will contain function that need to be run
in order to complete job.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mesosphere/marathon/pull/4773, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACPVLJbduMa0sXGs63pPX_24TLz7jz_Iks5rFCapgaJpZM4LERhb
.

xref #4693

That's what I was thinking yes. With FSM, you could track pending updates
in the state while waiting for a updated instances info.
On Mon, Dec 5, 2016 at 10:48 AM janisz<EMAIL_ADDRESS>wrote:

@janisz commented on this pull request.
In
src/main/scala/mesosphere/marathon/core/health/impl/HealthCheckActor.scala
https://github.com/mesosphere/marathon/pull/4773:

@@ -64,10 +66,15 @@ private[health] class HealthCheckActor(
app.version,
healthCheck
)

val activeInstanceIds: Set[Instance.Id] = instanceTracker.specInstancesLaunchedSync(app.id).map(_.instanceId)(collection.breakOut)
// The Map built with filterKeys wraps the original map and contains a reference to activeInstanceIds.
// Therefore we materialize it into a new map.
healthByInstanceId = healthByInstanceId.filterKeys(activeInstanceIds).iterator.toMap

instanceTracker.instancesBySpec().map(

 _.specInstances(app.id).filter(_.isLaunched).map(_.instanceId)(collection.breakOut)

).onComplete { r =>

How this should work with FSM? We will get events. If health event needs
data from TaskTracker it is stashed. When actor receive message with
TaskTracker data it process all stashed messages. Am I correct?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mesosphere/marathon/pull/4773, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAweZlas2aWdLpusgn7qtKgYEfLndR2rks5rFFyWgaJpZM4LERhb
.

I'm closing this PR. I'll reopen it when I prepare FSM/stash version.

@jasongilanfarr @jdef I take different approach. I think it uses the idea with FSM and stash but without them. IMO the code is easier to understand than with stash/FSM

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

@aquamatthias I fixed issues and cleanup receive by extracting methods. Should I squash commits?

@janisz The CI reports an error on mesosphere.marathon.core.health.impl.MarathonHealthCheckManagerTest.Update
With this stack trace:
health2.lastFailure.isDefined was false
Stacktrace
      org.scalatest.exceptions.TestFailedException: health2.lastFailure.isDefined was false
      at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:528)
      at mesosphere.marathon.core.health.impl.MarathonHealthCheckManagerTest.newAssertionFailedException(MarathonHealthCheckManagerTest.scala:34)
      at org.scalatest.Assertions$AssertionsHelper.macroAssert(Assertions.scala:501)

I retested it on my machine and the test was green.
Can you have a look?

I can't reproduce the problem on my local machine too. But I think I know why it occures.
    EventFilter.info(start = "Received health result for app", occurrences = 1).intercept {
      hcManager.update(taskStatus.toBuilder.setHealthy(false).build, app.version)
    }

    val Seq(health2) = hcManager.status(appId, instanceId).futureValue

It works like this:

Manager get unhealthy task status and schedule notification to actor.
When actor get health result it ask for instnaces and shedule notification when Instance health is ready
When actor gets instance health it updates it state

Previously it worked like this:

Manager get unhealthy task status and schedule notification to actor.
When actor get health result it ask for instance (sync) and updates it state

By adding additional step in processing that is triggered asynchronously there is a chance to ask for instance status before status is updated.
I thinkl this tests should wait for InstanceHealthChanged event and then perform check.

I can reproduce the problem. I run tests in a loop and I have 9/42 (21%) fail rate.

@aquamatthias Fixed by moving log message.

Merged with https://github.com/mesosphere/marathon/commit/43c4c39c64371e40ad66895ecbaed5c7edf88103
@janisz Sorry. I've squashed it locally and it lost your authorship :/.


Errors returned from getWhois.php

Upon calling the getWhois.php file some error messages are returned in the response:

( ! ) Notice: Undefined variable: out in C:\wamp64\www\spf\getWhois.php on line 7

( ! ) Warning: Illegal string offset 'handler' in C:\wamp64\www\spf\phpwhois\whois.gtld.php on line 57

Seems to happen regardless of the domain called
Easy to repro

I am somehow not receiving this.  Can you try out the changes on the feature/errors branch?

Just did another commit, I updated the version of PHP Whois I was using and simplified the file.


[Program]: Write a Rust program to find weekend days from number of years

Description
Write a Rust program to find weekend days from number of years
Weekend means Saturday & Sunday together. In total, we have 52 weeks in a year. So there are 52 weekends in a year. So, in normal we have 104 Weekend Days.
Input  : 1
Output : 104

Contributed by - @Aranarora

How to contribute

Save the solution in program/program/find-weekend-days-from-number-of-years/find_weekend_days_from_number_of_years.rs file

!assign

!assign


pod policy is no longer passed to backup pod

I have not dug into the code, but I'm guessing #1036 broke #916
apiVersion: etcd.coreos.com/v1beta1
kind: Cluster
metadata:
  name: kube-etcd
spec:
  backup:
    backupIntervalInSecond: 3600
    cleanupBackupsOnClusterDelete: false
    maxBackups: 5
    pv:
      volumeSizeInMB: 512
    storageType: PersistentVolume
  pod:
    nodeSelector:
      node-role.kubernetes.io/master: ""
    resources: {}
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
      operator: Exists
  selfHosted:
    bootMemberClientEndpoint: http://10.x.x.x:12379
  size: 3
  version: 3.1.8

kube-etcd-0000
Node-Selectors:	node-role.kubernetes.io/master=
Tolerations:	node-role.kubernetes.io/master=:Exists:NoSchedule

kube-etcd-backup-sidecar-3045662158-zcr5x
Node-Selectors:	<none>
Tolerations:	<none>

By duplicating the pod spec for nodeSelector and tolerations under backup my kube-etcd-backup-sidecar is now on the same node set
Node-Selectors:	node-role.kubernetes.io/master=
Tolerations:	node-role.kubernetes.io/master=:Exists:NoSchedule

If this is the expected behaviour feel free to close.  As a user I expected the backup pod would be on the same node set as the etcd servers by default.

Can you provide details how to reproduce it ?

I can it in self-hosted mode with the following config.
{
  "apiVersion": "etcd.coreos.com/v1beta1",
  "kind": "Cluster",
  "metadata": {
    "name": "kube-etcd",
    "namespace": "kube-system"
  },
  "spec": {
    "size": 3,
    "version": "v${etcd_version}",
    "backup": {
      "backupIntervalInSecond": 3600,
      "maxBackups": 10,
      "storageType": "PersistentVolume",
      "pv": {
        "volumeSizeInMB": 512
      }
    },
    "pod": {
      "nodeSelector": {
        "node-role.kubernetes.io/master": ""
      },
      "tolerations": [
        {
          "key": "node-role.kubernetes.io/master",
          "operator": "Exists",
          "effect": "NoSchedule"
        }
      ]
    },
    "selfHosted": {
      "bootMemberClientEndpoint": "http://${bootstrap_etcd_service_ip}:12379"
    }
  }
}

Now I understands your questions..
Backup sidecar has its own policy: https://github.com/coreos/etcd-operator/blob/master/pkg/spec/backup.go#L34 .

In previous versions it inherited from the main pod policy.  Is it intended for the policy to be set twice in the default situation now?

Right.


fix: update loki helm chart repo

Description

Grafana has deprecated their previous Helm chart repo and moved all of
their charts to https://grafana.github.io/helm-charts. The chart itself
has no breaking changes, therefore, this patch only requires changing
the Helm repo name and url.
It also updates the Loki docs URLs to link to the rendered Grafana docs
instead of the doc source files on Github.
Motivation and Context

[x] I have raised an issue to propose this change, which has been given a label of design/approved by a maintainer (required)

Resolves #620
How Has This Been Tested?

create a cluster using kind create cluster
build the arkade app using make build
install loki using ./arkade install loki --grafana
verify that everything starts and the post-install help string commands still function.

Are you a GitHub Sponsor (Yes/No?)

[x] Yes
[ ] No

Types of changes

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

Documentation

[ ] I have updated the list of tools in README.md if (required) with ./arkade get -o markdown
[ ] I have updated the list of apps in README.md if (required) with ./arkade install --help

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

[ ] I have tested this on arm, or have added code to prevent deployment

Thanks for this @LucasRoesler


Type refactoring

Made some types more specific and matched return type signature

Thank you! Refactoring looks nice.
I have a question for you: what is the motivation for writing 'x1:Real = ..' instead of 'x1 = ..

what is the motivation for writing 'x1:Real = .. instead of x1 = ..

The type hinting was assuming x1 to be Any.
Sorry I didn't add that in the commit message, maybe was just the IntelliSense I was using