Move the New project button to the top panel welcome line

Current display

Desired display

Acceptance criteria

[ ] Move the New Project Button from the "My Projects Panel" to the "Welcome panel"
[ ] Should be aligned with the side bar "Recent Activities"

Notes

Hey team! Please add your planning poker estimate with Zenhub @hectorcorrea @jrgriffiniii @JaymeeH


picamera2 h264enc with gstreamer

Is there possibility to use picamera2 h264encoder in gstreamer pipeline ?

Hi, I believe you can use the V4L2 hardware h.264 encoder in a gstreamer pipeline, though I'm afraid I don't know the details. You might find some more knowledgeable people if you were to ask on one of the Raspberry Pi forums. Sorry not to be able to help more!

Hi, I believe you can use the V4L2 hardware h.264 encoder in a gstreamer pipeline, though I'm afraid I don't know the details. You might find some more knowledgeable people if you were to ask on one of the Raspberry Pi forums. Sorry not to be able to help more!

Thank you for so quick answer.
I have already used v4l2 for encoding and it works fine, but with v4l2 I have to manage memory allocation myself and v4l2 uses really a lot of memory, so I need to decrease memory of CMA to increase memory of GPU for v4l2 and then I can`t read the high resolution raw images from camera because there is low memory for CMA. I believe that builtin picamera2 h264encoder has CMA as memory manager. But I dont know how stream video in this case without gstreamer

Hi again, I'm afraid I don't know too much about gstreamer and how the video encoding works. I believe you can pass frames to the v4l2 h264 encoder element, and there's a libcamera gstreamer source element that should be able to do this. But you might have more luck asking on the camera forum where there may be people who have tried this.
Out of interest, what kind of Pi are you using, and how large have you set your CMA area? And how do you want to stream/save the encoded video?


Transaction History Between Managers

Would be cool to see a relational spiderweb-type graphic based on the trades made between managers to see who has had the strongest relationship historically.
Would be especially cool if it was weighted based on the player value in the trade (based on some sort of trade analyzer from the week the trade was made)
Thanks for the all the work that went into this and making it public!

It would be really fun to make a new page where you can select two managers and see their entire history!  I'm short on bandwidth, but I'll definitely put this on the roadmap.
Great idea!

I'm going to lump this in with https://github.com/nmelhado/league-page/issues/160 and create a rivalry page that keeps track of matchups/transactions between two managers


Provide search option in Multiselect dropdown

Feature request type
Enhance component
Component name
Multiselect
Is your feature request related to a problem?
No response
Describe the solution you'd like
When there is huge list bound to Multiselect and user wants to select some specific items, it is hard to scroll down and select the items. There should be some search functionality similar to autocomplete.
Have you seen this feature anywhere else?
https://blazor.syncfusion.com/demos/multiselect-dropdown/checkbox?theme=material
Describe alternatives you've considered
No response
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

For this I just use autocomplete with the coerce parameters set appropriately.
Is there something you can't achieve through this method?

Does autocomplete has any option for selecting multiple values? My requirement is to achieve multi selection with search functionality.

Ah fair enough, autocomplete is single only, but I've seen requests for multiselect in autocomplete in other issues.
Hopefully someone might be able to implement this directly, but it shouldn't be impossible to implement it in your application with strategic use of  and have checkboxes on or off if the value is contained in a list in your component.

Duplicate of #1282


add wheels factory to Tutorials

This is a website which is used to share ui components and libraries. It displays many execellent ui componets and this website almost updates every day. It provides searching and find by key words(tag) functionality to help user to find a ui component quickly. For each component, the website shows a concise introduction, such as installation of a component, how to use it and the props table of each component. It also show the demo and github page of each component.

@kazupon, I think you are right, but it's time to actually start learning chinese.

Hmm, In Apps/Websites,  there is no particularly clear rule about the language just like theOpen source rule.
I think It can accept as Apps/Websites due to showcase.

I just move wheels factory to apps/websites

@kazupon, anything else?


MB-32245: Fix shared_ptr race in spdlog registry

In changing the spdlog registry to use weak_ptr's, a race condition
was introduced. A shared_ptr to a BucketLogger may be destructed,
dropping the internal reference count to 0. If any other thread blocks
this thread from unregistering the BucketLogger in the BucketLogger
destructor by acquiring the logger_map_mutex_, then the blocking thread
can access the loggers_ map in an invalid state that can cause a
segmentation fault. This is best described by a diagram found in the
comments on the jira issue.
To fix this, check the validity of the shared_ptr we create when we
call lock() on the stored weak_ptr. If it's not valid, ignore the entry
in the map. The thread currently blocked by the mutex in the drop
function (called by unregisterSpdlogger) will cleanup the map. If we
were to cleanup the map when we find an invalid weak_ptr, we would open
ourselves to another potential issue where we could register another
logger with the same name on a different thread, then unregister it
immediately with the destructing thread (if you ignore that we try to
guarantee unique names). This wouldn't seg fault, but we wouldn't be
able to change the verbosity of the newly created logger.
Change-Id: I54f475901ff26940ecedb1cabc37a29e4347a46c

@ceejatec Could you please merge this pull request? (or give me creds to do so).


burst: resolutions: no resolutions

You provide no information.
Probably using Kodi 18, there is a bug there with settings.


Feature: sort output based on column

Type of feature
🍕 Feature
Current behavior
This might just be a documentation thing, but when running the following command.
pizza insights user-contributions https://github.com/open-sauced/app

I get the following output
User                Total      Commits    PRs Created
289Volts            14         13         1
5hraddha            47         40         7
aryanas159          27         24         3
ATREAY              2          1          1
babblebey           13         12         1
brainconnect93      7          5          2
brandonroberts      368        334        34
CBID2               3          2          1
Code-Victor         2          1          1
Deadreyo            8          6          2
diivi               3          2          1
foxyblocks          24         22         2
FrancoLab           4          3          1
Gourav2609          15         13         2
heysagnik           6          5          1
Hiperultimate       5          4          1
itskish0re          9          5          4
jpmcb               6          5          1
lalitkumawat1m      1          0          1
Lucif3r-in          3          2          1
nickytonline        156        136        20
OgDev-01            164        135        29
RitaDee             47         39         8
ryuk-jayant         3          2          1
Satoshi-Sh          6          3          3
saurabh-nahar       1          0          1
shamimbinnur        1          0          1
shavidze            1          0          1
shelar1423          6          3          3
smrkhan21           2          1          1
SoundaryaKoutharapu 4          3          1
tarunclub           2          1          1

I'd love to sort column based on PRs created, but not sure it is possible. I assume I could pipe the result with a bash sort, but opening this issue before I put too much time into trying to discover this.
Suggested solution
A potential solution if this is not possible via existing features
pizza insights user-contributions https://github.com/open-sauced/app --sort "PRs created"

Of course an alternative is taking the CSV to a google sheet.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

I'd love to sort column based on PRs created, but not sure it is possible. I assume I could pipe the result with a bash sort, but opening this issue before I put too much time into trying to discover this.

Yeah, this is possible via a flag. I can pick this one.


Update shared-image-galleries.md

Added a FAQ

@sandeepraichura
Can you review this old PR and determine whether it needs to be closed or merged?
@MicrosoftDocs/public-repo-pr-review-team

Please abandon this, this was already addressed in another PR

#please-close


Make better use of stack_data

With version 0.5.0, stack_data now has an option for not skipping blank lines, which I consider to be preferable for beginners. It would be more efficient to remove my custom code and replace it by stack_data's version. While doing so, I should also change the way I locate where the exception was raised and the last call in the user's code as it is not very efficient and contains some duplication with the detailed_tb newest addition.
Currently, friendly_traceback separates the line number from the code using a colon; stack_data does it using a vertical bar, |, which does look better. However, friendly assumes that a colon is used. So, before changing friendly_traceback, I need to upload a new version, and upload a new version of friendly that uses this specific version of friendly_traceback while work is being done. The same should likely be done for friendly_idle.
There are other changes that should be taken care of while working on this issue, and they are as follows:

[x] Upload a new version of friendly_traceback   (0.5.48)
[x] Upload a new version of friendly  (0.5.36)
[x] Create a new version of the documentation. This will help spot possible regressions.
[x] Replace the combined computation to obtain "partial source" and "problem line" into two different operations.

[x] Ensure that all tests in the documentation remain unchanged

[x] Extract info about first/last call in traceback from detailed_tb.

[x] Confirm again that all tests in the documentation remain unchanged.

[x] Use stack_data to obtain detailed_tb.

[x] Update the documentation and examine carefully to confirm that the only significant changes are replacement of : by | (with some possibility of other minor differences in spacing)

[ ] Upload new version to Pypi
[ ] Work separately to make friendly and friendly_idle compatible with this new version.

@alexmojaki I'm trying to use stack_data to format the traceback content of a single frame, but it does not work.
As a specific example, given the following test file:
a = 'hello'

print(a[5])

friendly_traceback currently show the following:
       1: a = 'hello'
       2:
    -->3: print(a[5])
                ^^^^

For now, all I want is show essentially the information including the blank line (2).
So, I tried to use stack_data with the BlankLines.SINGLE option to replace https://github.com/friendly-traceback/friendly-traceback/blob/99bb2bfc86f25daa1e84812ab208282afc42747a/friendly_traceback/frame_info.py#L89.
As a first step, I thought to define a formatter inside this function, have it yields some lines that I can print and compare with the current output from friendly_traceback. I can get it to do this, but it ignores the BlankLines.SINGLE option, and uses the default BlankLines.HIDDEN instead.
That is, after adding the required import statements, if I insert the following:
        for line in Formatter(options=Options(blank_lines=BlankLines.SINGLE)).format_frame(self):
            print(line, end="")

the result is
 File "C:\Users\Andre\github\friendly-traceback\ignore3.py", line 3, in <module>
       1 | a = 'hello'
-->    3 | print(a[5])
                 ^^^^

So, line 2 is skipped, which is not what I want.  As an aside, eventually, I will not want to include the header in the output from this method.
After looking closely, I figured that this was because the FrameInfo object was already set with some defined options.
I first tried to add the options to the frame object,
        self.options = Options(blank_lines=BlankLines.SINGLE)
        for line in Formatter().format_frame(self):
            print(line, end="")

but it did not change anything.
So, I tried to add this option to https://github.com/friendly-traceback/friendly-traceback/blob/99bb2bfc86f25daa1e84812ab208282afc42747a/friendly_traceback/core.py#L134 but it raises the following exception
 AttributeError("'BlankLineRange' object has no attribute 'is_current'")

To be more specific, here's what I wrote and which raises the exception:
            all_records = list(FrameInfo.stack_data(tb,
                                                    Options(blank_lines=BlankLines.SINGLE),
                                                    collapse_repeated_frames=False))

Clearly, I don't understand how stack_data works well enough. I was wondering if you could have a look at it and hopefully see quickly what needs to be done and give me some pointers.

@alexmojaki Please ignore the previous request for help. I had suppressed some exceptions which prevented me from finding out the cause of the AttributeError being raised.

As an aside, eventually, I will not want to include the header in the output from this method.

Should be easy:
    def format_frame_header(self, frame_info: FrameInfo) -> str:
        return ''

After looking closely, I figured that this was because the FrameInfo object was already set with some defined options.

I think this is a good point about the usability of the API which could be improved. Formatters generally assume that callers will use a higher level API such as format_exception, and so they will pass its own options to the core. But what you did is not unreasonable and it's a mistake we'd want to prevent. We could change this:
    def format_frame(self, frame: Union[FrameInfo, FrameType, TracebackType]) -> Iterable[str]:
        if not isinstance(frame, FrameInfo):
            frame = FrameInfo(frame, self.options)

to this:
    def format_frame(self, frame: Union[FrameInfo, FrameType, TracebackType]) -> Iterable[str]:
        if isinstance(frame, FrameInfo):
            assert_(self.options in (frame.options, None))
        else:
            frame = FrameInfo(frame, self.options)

I first tried to add the options to the frame object, ... but it did not change anything.

This surprised me. Was there an interesting reason why it didn't work?

The reason was my own stupidity. In some other parts of my code, I worked with Line objects and never checked to see if they could be BlankLines objects - the newest addition.
Now, everything works and I'm just cleaning things up.
I did have to prevent an AssertionError when trying to use stack_data to highlight the following:
code = compile("1/0", "<fake>", "exec")
exec(code)

I also needed to write my own formatter as I didn't like some additional hard-formatting spaces used by default in stack_data.

Sorry, I realised that I misread your question ...
When I tried to add the options to the frame object, I did so in a later method and I suspect that by that time, the line objects were already all created, with no BlankLine object added.

Ah, that makes sense. I suppose the general lesson is that setting attributes yourself rather than via the recommended API and constructors is dangerous. We could maybe make the more explicit in stack_data, but maybe it's not worth it.

I agree that it is not worth it to change anything with stack_data.  The problem in my case is that I was already using an older version and I didn't systematically go through all the places I was using it to ensure that they were all consistent with the newest version.


No way to handle 404s?

Is there a way to handle 404 status codes when an object was not found on the other side?
Say that we have a model Post and we have set things up so that we can call Post.find(1) and there is not Post object with id=1 on the other side. Let's say the other API returns nil and status code 404. Her doesn't seem to consider the status code and rather complains with an error about the nil. What is the right way to handle such situations?

Never mind, figured this one out.

Reopening this as custom paths don't seem to handle 404s well after all. Even when 404 is returned Her prepares a model object but it has not attributes. I would expect it to return nil.

I notice the same thing, I would expect that Her returns nil in case of 40X HTTP codes returns.

i agree that returning nil makes more sense than an object with no attributes.
the place this would be handled is in the Her::Middleware layer. when parsing the object, it's not accounting for 4xx codes as you noticed, and should.
i'm doing some work at this level right now to handle json api compliant apis, so can take a look at this as well, or if you want to take a crack at PRing this yourself, that would be much appreciated.
thanks for the report.

the problem with returning nil is you have nothing to work with in the event of an error -
if this is limited to 404's return nil, that might work
but sometimes it's useful to see what was returned, the http status code
ideally, all Her objects would have some simple way to see the http details
like maybe a #_status that gives the code for the call, or maybe even a hash of relevant details
{http_status_code: '404', http_method: 'GET'}
one of the biggest knocks I hear against Her is the lack of transparency when something goes wrong

I agree with ak47, sometimes you want to make decisions based on the status code. Like a 401 vs 422 vs 204.
I am working on something right now where on a DELETE of a resource I get a 204 for a successful delete and a 422 for a unsuccessful delete. Now, I have no way of knowing whether or not the call was successful or not on the client side.
Like ak47 said just having a hash of the details would relieve a lot of troubles I have with her.

i agree there needs to be a way to distinguish between things working or not. however, i don't agree that http status codes are the way to do that.
the her middleware layer is there to provide the adapter layer between the http details on the active model object that is returned.
for a 404 specifically, nil is the most obvious, but the tradeoff would be that we wouldn't be able to include any additional info the server provides. the other possibilities would be a "NullModel" of some sort or making find raise an exception akin to how ActiveRecord does it.
for a 422 or other 4xx responses, the way to determine whether or not the delete was success would be to query the errors object attached to the model. Her should probably add a generic error for 4xx cases and then add errors included by the server.

ppra.response_errors => [{:id=>"bb78d697-7b3b-4780-8b45-3c0eadaabf95",
:status=>404,
:title=>"Not found",
:detail=>
"thing not found by key=10a228f9-4dff-4f7d-8aba-1c88fd9a29d8",
:at=>"2015-06-09T22:54:25.943Z"}]

I think @hubert is right here. System failure (including 401, 403, 404 and 5xx) should raise an exception. In those cases we can't rely on the API response to be sane. Content failure (e.g. 422 because invalid) should change model properties by passing through API responses.
I would suggest a small family of exceptions that follow the usual status code names (Her::NotFound, Her::Unauthorized, Her::ServerError) and all inherit from Her::Error.
Associates would sometimes need rescuing from fetch errors. Perhaps that should be configurable:
      belongs_to :country, foreign_key: :country_code, on_error: :raise

For the model errors could I also suggest that we adopt ActiveModel::Errors to try and marshal the received errors hash or array into a standard format? As usual people would need a custom parser if their error format is weird, but the error-processing could be exposed as a separate method.

Custom exceptions are good but theye're not for everyone.
Maybe store object.response_status at least?

@marshall-lee that would make sense for a processing error. The exceptions are meant for complete failures where we may not even have an object to store errors in. As @antonrd originally pointed out, creating a model object because there is no model object is too confusing.

I think the value of a missing object should be nil

You mean missing association objects? If yes I think the same.

and the action of fetching a missing object should raise an exception

As ActiveRecord throws ActiveRecord::RecordNotFound one would assume a similar behavior for Her. I definitely want this feature but I want it as optional for now. It shouldn't break existing code. For example in our project we handle errors (and not found errors too) by looking into response_errors. We don't like it but it's already implemented and it works, and we don't want our code be broken after upgrading to new version of Her. There should be a graceful upgrade path for existing users.

Agreed that behaving like ActiveRecord is always going to be comforting. In Her it's easy to configure response error behaviour while setting up an api because in the end all requests are made by Her::API#request. Nice work by Rémi there.
The maintainer would have to decide about default behaviour after an upgrade but rails gives us a good example: warn and deprecate one version ahead, then change the default behaviour in a way that is easy to undo.

The maintainer would have to decide about default behaviour after an upgrade but rails gives us a good example: warn and deprecate one version ahead, then change the default behaviour in a way that is easy to undo.

Yeah, I agree.

@wil-r, @hubert I am interested in Her raising an error for unauthorized errors.  Or somehow make that case visible.
Is anyone working on related behaviour?
If not I could help out with some guidance.

@alvinschur Here's my solution.
1 Create faraday middleware to parse JSON data
module ApiResponseHandler
  class UnauthorizedError < StandardError; end

  class CustomerParser < ::Faraday::Response::Middleware
    def call(request_env)
      @app.call(request_env).on_complete do |response_env|
        json = MultiJson.load(response_env[:body], symbolize_keys: true)

        case response_env[:status]
        when 200
          response_env[:body] = {
            data: json,
            errors: [],
            metadata: {}
          }
        when 401
          raise ApiResponseHandler::UnauthorizedError
        end
      end
    end
  end
end

2 Load custom parser instead of default one
# config/initializers/her.rb
Her::API.setup url: "https://api.example.com" do |c|
  c.use ApiResponseHandler::CustomParser
end

3 When REST api returns 401 as http status, it raises ApiResponseHandler::UnauthorizedError
[1] pry(main)> User.find(1)
# raise FaradayApiResponseParser::UnauthorizedError

I hope this helps you.

Thank you for the detailed answer and example.
I am writing several libraries to access internal microservices.
I see a few options for including the error handling code

duplicate the error handling code in each library created to access a microservice
fork her and write the error handling code once
contribute to her so others can benefit from the error handling code

Is it ok to include a middleware as described to handle the unauthorized error in her?
This error handling sounds quite similar to handling 404 and other errors.
Is it feasible to have one middleware handle a list of errors?
Or do people prefer separate middleware, one per error: unauthorized, not found, server error, etc?

a separate project similar to Faraday middleware for the extra middlewares we use

I don't know best practice how about her's error handling but I'm handling 40x and 50x errors in one middleware(extract gem) like above example code.
If you have serval client application to use same REST API, I think your 4) solution is better.

Did this conversation go any further? Found myself bumping up against it today, expecting find(unknown id) to Raise an exception but it swallows it.

I am adding my solution here.
Our models do not include Her::Model directly but they all inherit from an ApplicationModel that includes Her::Model.
This gives us the possibility to override methods for all our models.
We did it for different things and one of these was to handle 404.
What we did is as simple as:
class ApplicationModel
  include Her::Model

  def self.find(params)
    result = super
    raise ActiveRecord::RecordNotFound unless result
    result
  end

  # other stuff overrridden
end

I hope this helps somebody else


Delete testnets/permtestnet directory

Due to some organizations issue, have to delete this testnet. kindly remove the directory completely, if possible.

Can we instead change status to killed, please?

What's the difference between Kill and remove the directory? would you mind to explain?

changing to 'killed' just retains the history so we aren't left wondering what a certain chain or token was and being unable to find any trace of it in the registry. We are already seeing have cases of tokens from killed chains floating around on other chains, and retaining the data helps identify what they are.

changing to 'killed' just retains the history so we aren't left wondering what a certain chain or token was and being unable to find any trace of it in the registry. We are already seeing have cases of tokens from killed chains floating around on other chains, and retaining the data helps identify what they are.

Yes. you can change the status to killed.


Migrate to non-class implementation

Use functional implementation instead of class implementation.
FP way is more easier when dealing with static members.

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@4fbaee7). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head d572100 differs from pull request most recent head 6a005de. Consider uploading reports for the commit 6a005de to get more accurate results

@@           Coverage Diff           @@
##             dev       #15   +/-   ##
=======================================
  Coverage       ?   100.00%
=======================================
  Files          ?         3
  Lines          ?       114
  Branches       ?         7
=======================================
  Hits           ?       114
  Misses         ?         0
  Partials       ?         0


Add multiLevel field to parameters

What?
Fixes #171

Actually, regarding A, all parameters are wildcards.


Integrate the TensorFlow Quantum optimisation tools with OpenQAOA

Issue Description
Can we add some of TensorFlow Quantum's optimisation tools to the OpenQAOA stack?
TensorFlow Quantum is a python framework for quantum machine learning, therefore related to QAOA. It focuses on building hybrid quantum-classical models and provide tools to interleave quantum algorithms and circuit designed in Cirq with TensorFlow.
TensorFlow Quantum provides the following operations:

Sample from output distributions of batches of circuits, see tfq.layers.PQC and tfq.layers.Sample.
Calculate expectation value of batches of Pauli sums on batches of circuits, see tfq.layers.Expectation.
Simulate batches of circuit and states, see tfq.layers.State.

Note: This most likely requires integration with Cirq too, for more details see #306 .
Changes to be made
In the same way we implemented different backends (physical QPU or simulators), implement a plugin package openqaoa-tfq that allows usage of TensorFlow Quantum optinmisation and simulation tools. More specifically, changes include:

Creation of a new plugin openqaoa-tfq including all necessary components (e.g. setup.py, pyproject.toml, etc...).
Creation of a openqaoa-tfq/backend equivalent, bridging the stack's internal representation to one compatible with TensorFlow Quantum SDK.
Creation of unit tests to make sure all features are correctly supported.

Hey Iam Interested to do this

Sure @Vikrant-Khedkar , please go ahead!

Okay I will go ahead and setup first


openDS datamodel

Hi everyone,
I made some change to the (internal) openDS datamodel and want to check if others agree.
The now version looks like this:
{
    "id": "20.5000.1025/3N2-TKF-7CP",
    "midsLevel": 0,
    "version": 10,
    "created":<PHONE_NUMBER>.062506000,
    "type": "GeologyRockSpecimen",
    "physicalSpecimenId": "https://geocollections.info/specimen/142",
    "physicalSpecimenIdType": "cetaf",
    "specimenName": "Bryozoa",
    "organizationId": "https://ror.org/0443cwa12",
    "datasetId": "null",
    "physicalSpecimenCollection": "null",
    "sourceSystemId": "20.5000.1025/MN0-5XP-FFD",
    "data": {
        "dwca:id": null,
        "ods:modified": "2017-09-26T08:20:31.000+00:00",
        "ods:datasetId": null,
        "ods:objectType": "",
        "dcterms:license": "http://creativecommons.org/licenses/by-nc/4.0/",
        "ods:specimenName": "Bryozoa",
        "ods:organizationId": "https://ror.org/0443cwa12",
        "ods:sourceSystemId": "20.5000.1025/MN0-5XP-FFD",
        "ods:physicalSpecimenIdType": "cetaf",
        "ods:physicalSpecimenCollection": null
    },
    "originalData": {
        "abcd:unitID": "155-142",
        "abcd:sourceID": "GIT",
        "abcd:unitGUID": "https://geocollections.info/specimen/142",
        "abcd:recordURI": "https://geocollections.info/specimen/142",
        "abcd:recordBasis": "FossilSpecimen",
        "abcd:unitIDNumeric": 142,
        "abcd:dateLastEdited": "2017-09-26T08:20:31.000+00:00",
        "abcd:kindOfUnit/0/value": "",
        "abcd:sourceInstitutionID": "Department of Geology, TalTech",
        "abcd:kindOfUnit/0/language": "en",
        "abcd:gathering/dateTime/dateText": "1957",
        "abcd:gathering/country/name/value": "Estonia",
        "abcd:gathering/localityText/value": "Ontika quarry",
        "abcd:gathering/country/iso3166Code": "EE",
        "abcd:gathering/localityText/language": "en",
        "abcd:identifications/identification/0/preferredFlag": true,
        "abcd:gathering/siteCoordinateSets/siteCoordinates/0/coordinateMethod": "Est Land Board map server",
        "abcd:gathering/siteCoordinateSets/siteCoordinates/0/coordinatesLatLong/spatialDatum": "WGS84",
        "abcd:gathering/stratigraphy/chronostratigraphicTerms/chronostratigraphicTerm/0/term": "Aseri Stage",
        "abcd:gathering/stratigraphy/chronostratigraphicTerms/chronostratigraphicTerm/1/term": "Darriwilian",
        "abcd:gathering/siteCoordinateSets/siteCoordinates/0/coordinatesLatLong/latitudeDecimal": 59.442761,
        "abcd:gathering/siteCoordinateSets/siteCoordinates/0/coordinatesLatLong/longitudeDecimal": 27.307786,
        "abcd:gathering/stratigraphy/chronostratigraphicTerms/chronostratigraphicTerm/0/language": "en",
        "abcd:gathering/stratigraphy/chronostratigraphicTerms/chronostratigraphicTerm/1/language": "en",
        "abcd:gathering/siteCoordinateSets/siteCoordinates/0/coordinatesLatLong/accuracyStatement": "10-100 m",
        "abcd:identifications/identification/0/result/taxonIdentified/scientificName/fullScientificNameString": "Bryozoa",
        "abcd:identifications/identification/0/result/taxonIdentified/higherTaxa/higherTaxon/0/higherTaxonName": "Bryozoa",
        "abcd:identifications/identification/0/result/taxonIdentified/higherTaxa/higherTaxon/0/higherTaxonRank": "Phylum",
        "abcd:gathering/siteCoordinateSets/siteCoordinates/0/coordinatesLatLong/coordinateErrorDistanceInMeters": 100.0,
        "abcd-efg:earthScienceSpecimen/unitStratigraphicDetermination/chronostratigraphicAttributions/chronostratigraphicAttribution/0/chronostratigraphicName": "Aseri Stage",
        "abcd-efg:earthScienceSpecimen/unitStratigraphicDetermination/chronostratigraphicAttributions/chronostratigraphicAttribution/0/chronoStratigraphicDivision": "Stage"
    },
    "dwcaId": "null"
}

The model consists of several top level fields, of which a couple will be removed in a next iteration, so that we only have these at the top level:

id : This is clear, the PID of the object
midsLevel : The midsLevel which has been calculated
version : Version of the object, generated by the processing service
created : The moment when the record (version) was created, generated by the processing service
type: The type of the object
physicalSpecimenId: The physicaSpecimenId, the globally unique id of the physical specimen (in some cases this had been made globaly unique by DiSSCo)
data: This is an open section in which all harmonised data will be in. So now it concists of the MIDS 0 and 1 fields plus some fields coming from the openDS datamodel. When we harmonise more fields such as those of MIDS 2 they will be added here. We can discuss about the terms we use here, if we create an ods term for it or if we use an existing term.
originalData: This is the data that we received from the source system. For XML data such as ABCD(EFG) we flatten the paths into JSONPath. This is completly open and unharmonized.

So each time we add a field it will mean that information that is in the originalData will get put into data under a harmonised term.
We store this as as JSON column in the database so we don't need to make any changes in the data storage. We only need to add harmonisation logic in the translator and then it should propogate. It also means that when we harmonize new terms, these will also get harmonized for existing data when we run a new ingestion. This will create a new version (as the data part is changed).
This will hopefully allow us to iteratively work on the datamodel without us having to refactor to much of our application logic.
Let me know what you think and if you see any issue.
I also would like help harmonizing the terms, the current ones I have taken from MIDS level 0 and 1 and for most of these there isn't an existing term so I suggest to make these ods terms. Next up is MIDS level 2 which might be more difficult in this regard.

closing this old ticket as there has been progress with the data model. this can be archived.


getIn returns given value instead of fallback value when path is undefined

🐛 Bug report
Current Behavior
If you use the following code snippet getIn(this.props.formik.values, this.props.name, undefined) and this.props.name happens to be undefined it returns the value of this.props.formik.values (here {}) instead of undefined
Expected behavior
I would expect that getIn method returns the fallback value undefined when the path is undefined
Reproducible example
Reproducible by using:
getIn(this.props.formik.values, undefined, undefined)
Suggested solution(s)
I would expect an exit early check in getIn would solve this problem e.g. if (!path) { return def }
Additional context
If you want to use getIn to check if a value at the given path in the object is available it will fail not as expected.
Your environment

Software
Version(s)

Formik
1.3.1

React
16.5.2

TypeScript
N/A

Browser
70.0.3538.67

npm/Yarn
1.10.1

Operating System
MacOS 10.14 (18A391)

How can I progress this issue? Shall I make a PR for this?

Just found out this also occurs when name is an empty string. If you are thinking to submit a PR, you will need something more like if(path.length === 0) { return def; } since lodash's toPath will return an empty array, which would not be "falsey".

Still reproducible in v1.5.7.
I've made a PR with a fix to master but there is code for the v2.0.1-rc.8. Can't find a branch for 1.5.7, tho ¯_ಠ_ಠ_/¯

getIn returns an empty object when the name is empty or undefined
getIn(this.props.errors, undefined)
This gives an error when I unit test the form by mounting it using jest or enzyme.
Objects are not valid as a React child (found: object with keys {}). If you meant to render a collection of children, use an array instead
This is the material ui TextField component which I am using in Field. I forgot to pass name prop in Field.
  <TextField
      {...}
      error={
        getIn(touched, field.name) && (fieldError || getIn(errors, field.name))
      }
      helperText={
        getIn(touched, field.name) && (fieldError || getIn(errors, field.name))
      }
      {...field}
      {...custom}
    />

The getIn should return undefined if the filed.name is empty or undefined.

Thanks for raising this issue, I checked making path as an empty string and undefined. Seems like with undefined the default value is not returned, rather it returns the first param, which is the object passed as the first argument.
The solution you proposed seems to be working fine - if (!path) { return def } 👍
Would really appreciate a PR on this. 😄
Ref - https://github.com/formium/formik/blob/master/packages/formik/src/utils.ts#L75-L79 to add the snippet

@maddhruv there was a pr already but it was closed https://github.com/formium/formik/pull/1656 🤷♂

weird 🤔 no clue why the PR was closed.
cc @jaredpalmer


Benchmark images functions

Checklist before merging

[ ] I added an appropriate entry to CHANGELOG.md
[ ] I merged main into the current branch.

Unsurprisingly, the deduplicate function is slow.
TODO: We can skip using the deduplicate function in workflows with non-compound tasks, by modifying

merge_outputs function
updated_image block in runner.py

TBD: We probably will always need a deduplicate functionality within compound tasks, to sanitize the user-provided parallelization list. This has a worst-case (that is, when all parallelization items are different) quadratic scaling N*(N-1)/2. It could be made much faster by replacing object comparisons with string comparisons (together with JSON encoding/decoding), but we are not currently implementing this to avoid risks on unexpected behaviors.


Flutter should provide the way to pop to root for CupertinoTabBar

Hi, I've been enjoying flutter very much so far.  However there is one thing annoying me a little which is CupertinoTabBar.
CupertinoTabBar doesn't provide the way go back to root page of the current index when a tab tapped. Let's say for example in Instagram, there is feed and if you tap user's icon, navigate to the user profile page and be able to see previous posts. Then, if you tap the feed icon (which is tab index 0), go back to the first feed page. It might not be expected behavior in Android. But this is helpful when you push multiple pages and did some action like follow unfollow, but no need go back to the previous page. Especially, for iPhone users. I'm using iPhone and this kind of behavior is pretty weird and not great UX. Does this make sense? I have been searching this solution but couldn't find it. If there is the way already, sorry and please tell me where I can find it.

Thank you for replying.
This is the CupertinoTabBar from flutter example
`class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => new _HomeScreenState();
}
class _HomeScreenState extends State {
final List pages = [
new Page1(),
new Page2(),
new Page3(),
new Page4(),
];
@override
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: () async {
await Future.value(true);
},
child: new CupertinoTabScaffold(
tabBar: new CupertinoTabBar(
iconSize: 35.0,
activeColor: Colors.black,
inactiveColor: Colors.grey,
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.looks_one),
title: Text('Page1'),
),
BottomNavigationBarItem(
icon: Icon(Icons.looks_two),
title: Text('Page2'),
),
BottomNavigationBarItem(
icon: Icon(Icons.looks_3),
title: Text('Page3'),
),
BottomNavigationBarItem(
icon: Icon(Icons.looks_4),
title: Text('Page4'),
),
],
),
tabBuilder: (BuildContext context, int index) {
return new DefaultTextStyle(
style: const TextStyle(
fontFamily: '.SF UI Text',
fontSize: 17.0,
color: CupertinoColors.black,
),
child: new CupertinoTabView(
routes: <String, WidgetBuilder>{
'/Page1': (BuildContext context) => new Page1(),
'/Page2': (BuildContext context) => new Page2(),
'/Page3': (BuildContext context) => new Page3(),
'/Page4': (BuildContext context) => new Page4(),
},
builder: (BuildContext context) {
return pages[index];
},
),
);
},
),
);
}
}`
And if you push a couple of times like so,
`class Page1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Page1'),
leading: new IconButton(
icon: new Icon(Icons.text_fields),
onPressed: () {
Navigator.of(context)
.push(MaterialPageRoute(builder: (context) => Page5()));
},
)),
body: new Center(
child: new Text('Page1'),
),
);
}
}
class Page5 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Page1'),
actions: [
new IconButton(
icon: new Icon(Icons.text_fields),
onPressed: () {
Navigator.of(context)
.push(MaterialPageRoute(builder: (context) => Page6()));
},
)
],
),
body: new Center(
child: new Text('Page5'),
),
);
}
}
class Page6 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Page1'),
actions: [
new IconButton(
icon: new Icon(Icons.text_fields),
onPressed: () {
Navigator.of(context)
.push(MaterialPageRoute(builder: (context) => Page6()));
},
)
],
),
body: new Center(
child: new Text('Page6'),
),
);
}
}`
Then if you want to go back to Page1 you have to tap twice left-upper arrow which is leading in AppBar. But in native iOS development if you tap first tab icon which is this
  BottomNavigationBarItem(               icon: Icon(Icons.looks_one),               title: Text('Page1'),     )
Then pop to Page1 without tap button twice and since I couldn't find this property, I thought flutter should provide this.
Does this make sense?
Thank you for your help I really appreciate it.

I still don't understand what exactly you try to accomplish.
The way you are mixing tabs with page navigation is especially confusing to me.
I don't know iOS native development can can't translate how you would do it in Flutter.
I'd suggest to ask in one of the other channels listed at http://flutter.io/support .
GitHub is for bug reports and feature requests.
The code I used (fixed some errors from above fragments) can be found https://gist.github.com/zoechi/0ba9fc507359e48bb3e9f2eed7507860


Adds static packages needed to build containerd

Issue #, if available:
Description of changes:
Looking to build containerd for eks-a, need these 3 packages which end up being a pretty small usage increase.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


feat: remove ensureEven requirement

The purpose of this PR is to remove the ensureEven requirement when
generating target widths. Prior, it was deemed necessary to restrict
target width values to be even-valued integers. Now, we've relaxed
this constraint, e.g. both 134 and 135 are acceptable target image
width values.

For some context, Jason and I implemented this because we assumed that most devices had a even pixel width, and that most images at the small resolutions would be displayed full-bleed, leading to even pixel widths. Whether or not this reasoning was useful is up for debate.

For some context, Jason and I implemented this because we assumed that most devices had a even pixel width, and that most images at the small resolutions would be displayed full-bleed, leading to even pixel widths. Whether or not this reasoning was useful is up for debate.

:tada: This PR is included in version 0.3.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Next.js + SSR + Cache: ENOENT when loading images sharp version 0.30.0

Are you using the latest version? Is the version currently in use as reported by npm ls sharp the same as the latest version as reported by npm view sharp dist-tags.latest?

Yes

What are the steps to reproduce?

I recently upgrade my page from "sharp": "0.29.3", to "sharp": "^0.30.0". After that I experienced random crashes and pictures that don't show up due to server down.

What is the expected behaviour?

Load more images shouldn't break the site

Are you able to provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem?
0|app      | node:events:368
0|app      |       throw er; // Unhandled 'error' event
0|app      |       ^
0|app      |
0|app      | Error: ENOENT: no such file or directory, open '/home/roy/ssr/.next/cache/images/YRsy75nIks7e4R6AD5Hn9pEllmNFpdigk3kmseeqg0o=/0.1644326694486.aj2IPGTFeDoaLL--dpJlGdzuHmMYn7dGqUlEy99ouRc=.webp'
0|app      | Emitted 'error' event on ReadStream instance at:
0|app      |     at emitErrorNT (node:internal/streams/destroy:157:8)
0|app      |     at emitErrorCloseNT (node:internal/streams/destroy:122:3)
0|app      |     at processTicksAndRejections (node:internal/process/task_queues:83:21) {
0|app      |   errno: -2,
0|app      |   code: 'ENOENT',
0|app      |   syscall: 'open',
0|app      |   path: '/home/roy/ssr/.next/cache/images/YRsy75nIks7e4R6AD5Hn9pEllmNFpdigk3kmseeqg0o=/0.1644326694486.aj2IPGTFeDoaLL--dpJlGdzuHmMYn7dGqUlEy99ouRc=.webp'
0|app      | }

Are you able to provide a sample image that helps explain the problem?

no

What is the output of running npx envinfo --binaries --system?
Next.js version: 12.0.7

  System:
    OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (4) x64 DO-Regular
    Memory: 5.01 GB / 7.77 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 16.13.2 - /usr/bin/node
    npm: 8.3.0 - /usr/bin/npm

Hi, this looks like a Next.js caching or filesystem problem unrelated to sharp. Do the files that appear in the error message exist? Are you able to reproduce this using sharp alone?
For me to investigate, I'll need a minimal, standalone code sample, without other dependencies (this means without Next.js).

Currently, we are using the version: "sharp": "0.29.3" and we never experienced any errors.
After upgrading to "sharp": "0.30.0", we started to get crashes when scrolling on page loading in more images. We haven't touched anything else. If you want to have a look: jiroy.com

The filesystem paths in the error message look like they are from a SSR cache. I don't know how Next.js works, but at a guess it might use content-based hashing, so if you upgrade a dependency that generates content (e.g. sharp), the content-based hashes might also change. Have you tried clearing the SSR cache?

We cleared everything before upgrading so it shouldn't be that.
Can it be in conjunction with next.js 12 dropping sharp (ref) that the file hashing doesn't match anymore?

https://github.com/vercel/next.js/issues/33860

Thank you, my good sir, that ticket solved our issue as well.
Have a good one!


[BUILD] [DEPS] Leverage maven to resolve transitive dependencies except hive

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #823 (51cdcb5) into master (129521c) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #823   +/-   ##
=========================================
  Coverage     78.65%   78.65%
  Complexity       10       10
=========================================
  Files           132      132
  Lines          5112     5112
  Branches        639      639
=========================================
  Hits           4021     4021
+ Misses          743      742    -1
- Partials        348      349    +1

Impacted Files
Coverage Δ

...pache/kyuubi/sql/KyuubiQueryStagePreparation.scala
79.41% <0.00%> (-0.99%)
:arrow_down:

.../scala/org/apache/kyuubi/server/KyuubiServer.scala
50.00% <0.00%> (+2.63%)
: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 129521c...51cdcb5. Read the comment docs.


SSR rendering doesn't work with page load

the editorState doesn't seem to initialize from Server Side Rendered views, but it seems to be an initialization issue:
assuming I am using this flag for pre-rendering or allowing user to input: initFromSavedContent
    const contentJson = _.get(nextProps, 'contentJson')
    const {initFromSavedContent} = this.state
    const editorState = contentJson && !initFromSavedContent
      ? editorStateFromRaw(JSON.parse(contentJson))
      : editorStateFromRaw(rawContent)
    if (!initFromSavedContent && contentJson)
      this.setState({editorState, initFromSavedContent: !initFromSavedContent && contentJson})
  }

By the way my work around goes likes this, from its parent I handle it like this:
                <TextEditor
                  ref={(element) => {
                   this.editor = element
                  }}
                  {...({...this.props, ...this.state})}
                  contentJson={contentJson}
                  onChange={this.handleContentChange}
                />
              }```

Hi @reduxdj ! First, sorry for the delay. Do you still having this problem ?


Multiple models support, reprise

Description
Built on top of #50
Commit history may need tidying up (& rebased onto master)
Related Issue
#39
Type of change

[x] This change requires a documentation update
[x] This change affects the client
[x] This change affects the server
[x] This change affects the API
[x] This change only concerns the documentation
[x] This change is backward incompatible

How Has This Been Tested?
Added integration test & updated python tests
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[ ] I have updated the documentation according to my changes

Seeing the kind of changes, I don't think it's necessary, but @clauverjat might still want to take a look.
By the way, can you please fix the conflicts issues?

@JoFrost issues are fixed and i squashed my "to squash" git commits :sweat_smile:


TODO [GFX][ENGINE]: Rework point lights support

ER_PointLight is a very old class and the support of point lights in lighting passes got lost years ago. I need to re-code that back and also add editor support + scene parsing. Adding shadows to point lights is not a priority for now

fixed


Fix Python version requirement, old references

This requires either a new release or recreation of release and PyPi distribution, as there is a possibility that dependency resolution may be affected.

This was forgotten but finally decided to remove the release from GitHub and yank the package distribution from PyPi. A new release with a bumped version instead of the same version will be made to comply with the yanking and semantic versioning policy (although Pip supports resolving a post version specifier it would not be SemVer-compliant).


Add Kb and KB

Add Kb and KB to data digital units.

"Kb" and "KB" are not units of data. The SI symbol for "kilo-" is "k", not "K".

Agree, however, for digital units, the capital K is the standard.

This is not 100% true. There are two main standards for defining digital data units, SI and IEC. I forgot about the IEC standard
when I wrote my previous response, but after reading a bit about it I changed my mind & will add the Kb and KB units to Convert.
SI states that a kB is 8000 bytes and IEC says that a KB is 8192 bytes. Convert currently supports the IEC units KiB, MiB, GiB, TiB, and PiB, but does not include KB, MB, GB, TB, or PB.
I think it makes sense to add the Kb and KB units as aliases for kb and kB, rather than the actual IEC definitions. Having kb be a different value than Kb seems like bad library design and setting users up for failure later on.

Awesome 😍🥳

:tada: This issue has been resolved in version 4.7.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


[BUG] Implicits not showing

If an item has more than 2 implicits they are not shown...
https://imgur.com/a/NTnQ2nW

Thanks for creating an issue. Seems like your imgur image is broken. Can you please reupload? Thanks!

Hey,
I was just testing any 3 implicit high Templar gloves. I believe you have a limit on implicits? Mine had +1 frenzy, ats and base attack crit. Can’t upload right now sorry.
Brgs,
Jix

On 23. Feb 2020, at 15:52, Nicklas<EMAIL_ADDRESS>wrote:

Thanks for creating an issue. Seems like your imgur image is broken. Can you please reupload? Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi, I've tried some high template gloves from the trade marketplace. They all seemed to work. To be fair i've only test like 2-3 with high implicit count.
Also there is not limit on implicits. I think it's mostly related to some mods which are not supported yet.
Therefore looking forward to your image/item data.

I'll close this issue for now. Feel free to reopen with attached item data.


Fix Keras Callback type annotation

Change tf.keras.callbacks.Callback --> Type[tf.keras.callbacks.Callback]

Thanks for pointing this out! Helped me to review type hints.


Documentation: font usage for theme barbuk

fix #1530

Nice work taking the time to update docs !
I left a small comment for your review.

Thanks for the feedback.
I'll update the PR following your review.

Looks great - thanks for providing the documentation update, and for making the theme better!


Add packet delay feature

Closes: #640
Description
Primary feature added:

hermes create connection ibc-0 ibc-1 --delay 10

connection creation CLI now permits creation of new connections with the specified delay parameter
the delay is represented as u64 almost everywhere (relayer::Connection, ibc::ConnectionEnd) except for relayer::Channel where it has type Duration
it is up to the IBC client implementation (e.g., ICS 07) to interpret this value; in SDK for 07 tendermint this is interpreted as nanoseconds;
the Hermes CLI parameter --delay interprets this value as seconds

hermes start ibc-0 ibc-1 -p transfer -c channel-2

if the -c option to the start CLI is a channel building on a connection with a non-zero delay_period, then all packets relayed will respect this delay

There are two limitations, which I suggest we don't try to tackle in this issue but leave for later:

adding a newtype wrapper for the delay_period and making this value general to any client implementation

this requires changes in most of ICS03 module

Other major changes included in this PR:

Split link.rs into separate modules [this change is postponed until we finish reviewing the PR]

moved the LinkError type from relayer/src/link.rs into relayer/src/link/error.rs
moved the RelayPath type & impl from relayer/src/link.rs into relayer/src/link/relay_path.rs

Added OperationalData struct as part of RelayPath to temporarily store batches of events which are pending processing
Refactored RelayPath struct and impl:

Removed the src_height and dst_height fields and several others
Added two fields src_operational_data: Vec<OperationalData> and dst_operational_data: Vec<OperationalData>.

Notes on testing
Creating a channel with zero packet delay:

hermes create channel ibc-0 ibc-1 --port-a transfer --port-b transfer

Note the id of the newly created channel. Suppose this is channel-0.
Creating a channel with non-zero packet delay, say 10 seconds:

Create the connection hermes create connection ibc-0 ibc-1 --delay 10

Note the id of the newly created connection on chain ibc-0.  Suppose the id is connection-2.

Create a channel on top of the connection:

hermes create channel ibc-0  --port-a transfer --port-b transfer --connection-a connection-2

{"status":"success","result":{"a_side":{"chain":"ibc-0","channel_id":"channel-1","client_id":"07-tendermint-2","connection_id":"connection-2","port_id":"transfer"},"b_side":{"chain":"ibc-1","channel_id":"channel-1","client_id":"07-tendermint-2","connection_id":"connection-2","port_id":"transfer"},"connection_delay":{"nanos":0,"secs":10},"ordering":"Unordered"}}

Note the id of the newly created channel, namely channel-1.

For contributor use:

[x] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #747 (a4e9c67) into master (b1b37f5) will increase coverage by 30.1%.
The diff coverage is n/a.

:exclamation: Current head a4e9c67 differs from pull request most recent head a071aec. Consider uploading reports for the commit a071aec to get more accurate results

@@            Coverage Diff            @@
##           master    #747      +/-   ##
=========================================
+ Coverage    13.6%   43.8%   +30.1%
=========================================
  Files          69     160      +91
  Lines        3752   10422    +6670
  Branches     1374       0    -1374
=========================================
+ Hits          513    4572    +4059
- Misses       2618    5850    +3232
+ Partials      621       0     -621

Impacted Files
Coverage Δ

...application/ics20_fungible_token_transfer/error.rs
0.0% <ø> (ø)

...ion/ics20_fungible_token_transfer/msgs/transfer.rs
0.0% <ø> (ø)

..._transfer/relay_application_logic/send_transfer.rs
0.0% <ø> (ø)

modules/src/events.rs
0.0% <ø> (ø)

modules/src/handler.rs
100.0% <ø> (ø)

modules/src/ics02_client/client_consensus.rs
55.8% <ø> (ø)

modules/src/ics02_client/client_def.rs
33.0% <ø> (ø)

modules/src/ics02_client/client_state.rs
65.1% <ø> (ø)

modules/src/ics02_client/client_type.rs
79.1% <ø> (+31.5%)
:arrow_up:

modules/src/ics02_client/context.rs
100.0% <ø> (ø)

... and 256 more

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 9e68484...a071aec. Read the comment docs.

I also tried the CLIs on regular channels (no delay). The timeouts don't seem to work there anymore either, getting:
{"status":"success","result":[{"ChainError":"deliver_tx reports error: log=Log(\"failed to execute message; message index: 1: timeout packet verification failed: clientID (07-tendermint-0), height (1-8774): consensus state not found\")"}]}
We definitely need to add these to the e2e/run.py integration.

fyi, still seeing some errors on 0-delay with the timeouts:
Apr 07 19:57:01.114  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Scheduling op. data with 30 msg(s) for target chain (Source) (height revision: 0, height: 1156)
Apr 07 19:57:01.114  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Exhausted all events from this operational data.
Apr 07 19:57:01.227  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Found operational data for source with size: 30 (delayed by: 112.855424ms)
Apr 07 19:57:01.227  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Relaying with operational data to Source [try 1/10]
Apr 07 19:57:01.227  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Prepending client updates to operational data for Source @ Height { revision_number: 0, revision_height: 1157 }
Apr 07 19:57:01.385  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Assembled batch of 31 message(s)
Apr 07 19:57:03.138  INFO ibc_relayer::link: [ibc-1 -> ibc-0] Result [ChainError("deliver_tx reports error: log=Log(\"failed to execute message; message index: 1: timeout packet verification failed: failed packet receipt absence verification for client (07-tendermint-1): got ExistenceProof in VerifyNonMembership. If this is unexpected, please ensure that proof was queried with the correct key.: invalid proof\")"), ChainError("deliver_tx reports error: log=Log(\"failed to execute message; message index: 0: timeout packet verification failed: clientID (07-tendermint-1), height (0-1157): consensus state not found\")")]

There was recently a PR modifying link.rs: #795. I think those changes did not make it from master into this branch with the earlier merge commit (https://github.com/informalsystems/ibc-rs/pull/747/commits/832c803a1628692d53f12379a8460839b94de190) but they should probably get in here.

There was recently a PR modifying link.rs: #795. I think those changes did not make it from master into this branch with the earlier merge commit (832c803) but they should probably get in here.

Yeah, I brought those back

I swear I haven't done anything.
@adi
On Mon, Apr 12, 2021, 16:17 Anca Zamfir @.***> wrote:

@.**** approved this pull request.
Amazing work @adi https://github.com/adi!!!!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/informalsystems/ibc-rs/pull/747#pullrequestreview-633523410,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTMAFVPYQZ3OVWTPCI6ZJLTILXGJANCNFSM4ZKJDDFQ
.


Check all of the logos to see whether any of them are misaligned from that Sketch bug

The logo on the cover image for the blog is bad :(


⚠ Bofrost.de has degraded performance

In bb4e889, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1273 ms

Resolved: Bofrost.de performance has improved in 5acaf00 after 6 minutes.


Convert to Python3

using : find . -name '*.py' | xargs 2to3 -w

@ralic Thanks for the submission.  I am curious though, are you having issues with Python3 compatibility?
The CI tests run against Python 2.7, 3.4 and 3.5 but if there were bugs not covered through testing (which may be likely), I think it may be better to focus on those issues rather than using the 2to3 tool.
I would be interested to hear about any issues you're experiencing (and honestly, I nearly forgot about this project so it would be good to get back to it).


Stuck at python installed successfully

I have tried installing this package with node 14 as well as node 10 from two days whenever I try to install windows build tools it always stuck at python installed successfully and doesn't do anything I have even waited for 4-5 hrs even though I have a good internet connection

Me too!
Today I'm trying others old versions of npm/node

I am also stuck at 'Successfully installed Python 2.7"

I managed to find a workaround. There is an issue with the windows-build-tools script finding the log file for the VS build tools installer; it seems maybe the log file created by the VS build tools installer has changed.
The script is looking for a log file with a name starting with dd_client_ in the folder %USERPROFILE%\AppData\Local\Temp, but the VS build tools installer doesn't seem to be creating any file starting with dd_client_.
The workaround I used was this:

Run npm install -g windows-build-tools
Navigate to %USERPROFILE%\AppData\Local\Temp and look for a log file with a name like dd_installer_20210421124746.log
Keep checking the contents of the log file until you see a message Closing the installer with exit code 0
Check your list of installed programs to verify it includes Visual Studio Build Tools
Create a file in %USERPROFILE%\AppData\Local\Temp named dd_client_.log
Edit dd_client_.log, add the string Closing installer. Return code: 3010., and save the file

Then the windows-build-tools script should continue.

@jwonderly This workaround got the script to complete. Now I am seeing "All done!" at the end of the script.
Thank you!!

Another option is to try installing the build tools via Chocolatey instead (use an Administrator command line):
choco install python visualcpp-build-tools -y
npm config set msvs_version 2017

Maybe this should be documented in the readme as an alternative...

Another option is to try installing the build tools via Chocolatey instead (use an Administrator command line):
choco install python visualcpp-build-tools -y
npm config set msvs_version 2017

Maybe this should be documented in the readme as an alternative...

This option is a lot less hacky than editing .log's!

Everyone's solution was helpful. Thanks a lot.

他妈的。楼主你是我爹


[TE7][TC-MF-1.13][TC-MF-1.15] Wrong status code when trying to open two commissioning window

Problem

expected behavior: when opening a second commissioning window while the first is still open, the response  status code should be BUSY(0x9c)
actual behavior: The status code was Failed (0x01)

The spec for opening commissioning windows (in both "<IP_ADDRESS>. OpenCommissioningWindow (OCW) Command" and "<IP_ADDRESS>. OpenBasicCommissioningWindow (OBCW) Command") says:

If a commissioning window is already currently open, this command SHALL fail with a cluster specific status code of Busy.

This status code is defined in "11.19.9. Status Codes" to have the value 1.  And the response I am seeing matches the spec:
[1651727336706] [63884:41054898] CHIP: [DMG] 				StatusIB =
[1651727336706] [63884:41054898] CHIP: [DMG] 				{
[1651727336706] [63884:41054898] CHIP: [DMG] 					status = 0x01 (FAILURE),
[1651727336706] [63884:41054898] CHIP: [DMG] 					cluster-status = 0x1,
[1651727336707] [63884:41054898] CHIP: [DMG] 				},

The 0x9c listed above is the global BUSY status code, but that's not what this cluster spec uses.


Add checksec

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

Enables checksec, which is a bash script to check the properties of executables (like PIE, RELRO, Canaries, ASLR, Fortify Source), being used for security assessments in Mariner. Note that 2.5.0 contains changes from https://github.com/slimm609/checksec.sh/pull/181
Change Log

Initial CBL-Mariner import from Fedora 34 (license: MIT)
Update to 2.5.0 upstream release
License verified

Does this affect the toolchain?

NO
Test Methodology

local build

I do not have the permissions to merge this myself.


API: Make credential validation more convenient

Difficult to get credential validation right. API needs to be improved here

Draft: https://github.com/openmls/openmls/tree/keks/leaf_node_staged_commit_iterator


[Feedback]: Support regional series and title names

Type
Both
Suggestion
Would be nice to have regional titles for series and episodes, such as Hama downloader did.

Version 4.6.0 has been released and adds the feature --locale (which replaces --search-locale), which adds the ability to set the locale of the API, so I'm going to close this


Hijack of an inactive User can't be released

When using a "standard" django setup with the standard User model and django.contrib.auth.backends.ModelBackend as the authentication backend, if you do the following:

Have a User with is_active = False
Hijack this user (inactive_user)
At this point even though "_auth_user_id" will be inactive_user.id in your session, ModelBackend will not allow inactive users so request.user will be AnonymousUser
attempt to release the hijack, this will fail because it uses LoginRequiredMixin which rejects AnonymousUser.
So releasing the hijack is impossible

I'm not sure what solution, if any, would be best for django-hijack.
In my project I am addressing this by prevent the hijack of inactive users in the first place through the HIJACK_PERMISSION_CHECK setting.

Thinking about this more, I feel that the is_active field is just an implementation detail of ModelBackend, the django-hijack library shouldn't look at this field for compatibility with custom user models/backends.
The high-level problem is that AcquireUserView allows you to acquire a User which is then not recognized by any backend in AUTHENTICATION_BACKENDS, so request.user will be AnonymousUser, so the ReleaseUserView will not allow the releasing of the hijack.

Hi @LincolnPuzey,
Thank you for reaching out. Seems like we missed this bug, excellent catch.
It shouldn't be too hard to fix, this check only needs to be implemented in the permission functions and users will be no longer able to hijack inactive users.
I'll create a patch.
Thanks Joe

@LincolnPuzey would you care to review #370 to speed up the release process a little?


[SPARK-21317][SQL] Avoid sorting on bucket expression if data is already bucketed

What changes were proposed in this pull request?
When saving bucketed data, each task will sort it's partition by the partition id produced by the HashPartitioning of the bucket column. If the input data is already partitioned by the bucket partitioning, then this value will be constant, making the sort unnecessary.
How was this patch tested?
Manual tests + intellij debugger. Not sure what the easiest way to plug into verifying the plan inside the writer would have a sort or not.

Can one of the admins verify this patch?

And I think we should also add tests for this.

We always need more test cases for these changes.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Add preferUnplugged to keep the main package plugged in Yarn 2

The postinstall causes Yarn to assume that the package might have a build step and Yarn ends up unplugging it, which is undesirable. preferUnplugged is documented here.

@serialport/bindings, indeed, needs to remain unplugged, but that doesn't concern the packages that depend on it.


Bug: Pre blocks render very strangely

Describe the bug
When rendering pre/code blocks the font does not render until literally clicking on the contents.
How to reproduce
Steps to reproduce the behavior:
Check out any markdown post on my blog:
https://ldelossa.is/archive
they all demonstrate this behavior.
Expected behavior
Pre blocks render correctly and always fit inside their bounding box.
Screenshots
If applicable, add screenshots to help explain the problem.
Additional context
You can see the code for my markdown screen here:
https://github.com/ldelossa/blog-flutter/blob/master/lib/postscreen.dart

Hi @ldelossa, can you please confirm if you are still experiencing this issue with the latest flutter and flutter_markdown?
If you are, please provide  a minimal complete reproducible code sample
Thank you


A good idea is same list for SSH and FTP.

A good idea is same list for SSH and FTP.
In this way, the same server would not have to be registered twice.
Originally posted by @josemmba in https://github.com/isontheline/pro.webssh.net/discussions/185

[x] Host capabilities dropdown select : SSH / SCP (mandatory yet?) / SFTP / ESXi / PVE / Docker

Originally posted by @isontheline in https://github.com/isontheline/pro.webssh.net/issues/202

A good idea is same list for SSH and FTP.
In this way, the same server would not have to be registered twice.
Originally posted by @josemmba in https://github.com/isontheline/pro.webssh.net/discussions/185

[x] Host capabilities dropdown select : SSH / SCP (mandatory yet?) / SFTP / ESXi / PVE / Docker

Originally posted by @isontheline in https://github.com/isontheline/pro.webssh.net/issues/202


CircleCI

Adding CircleCI initial structure under CI\CD. Will add more info in future PRs.

@waniniraj resolve conflicts

Done, resolved conflicts. Thank you.

@all-contributors please add @waniniraj  for code


implement decorate on $controller()

I seem to have forgotten to hook up $controller() service fn decoration, which is used by ui-router, for example.
https://github.com/christopherthielen/angular-360-no-scope/blob/master/angular-360-no-scope.js#L16

Ouch! Does this mean I can't use this awesome piece of awesomeness with ui-router?

Yes, it does. It shouldn't be too difficult to implement. I didn't know anyone was using this thing :)


Create a test framework

In order to formalize testing and increase overall productivity when writing tests, a supportive framework would be nice. Of course there is a plethora of testing frameworks out there, so one could ask why build one from scratch?
For a number of reasons.

A test framework based on Cortex would work for any programming language that has a binding with the platform. As such, it would ensure conformity across languages in how testcases are build, organized and log their output.

The upcoming web bindings and documentation features would complement the test framework  perfectly. Basically, the test framework would be extended with realtime visual feedback for free.

In future releases bindings will be added that allow building truly distributed applications with Cortex. This in essence would enable the framework - again for free - to act as a distributed test engine.

In future releases functionality will be added to the platform that allows for persistent storage of objects. This would, for free, add the capability of the framework to keep track of historic test results.

Keeping the test results around in the Cortex object store will allow users to write scripts based on this data.

In summary, this framework will eventually be language agnostic, scriptable, provide real-time visual feedback on the execution of testcases, can manage running testcases on multiple machines simultaneously and store historical results.
That is combination of features that I have not yet seen with any OTS framework. The framework in itself would become a good reason to use the platform.
The framework would not be used just for testing the platform, but should also be used for testing applications build by end users.

The current use of setUp and tearDown methods is an ugly hack. Any inherited setUp and tearDown are executed before the overridden one, instead of properly overriding it, making some really weird behavior.
Instead, it could be proposed to "annotate" setUp and tearDown methods as a procedure extending method. Like this, it is a more sensible that any parent setUp and tearDown methods are discovered and run, instead of discovered and run but not overridden.

The current test runner suffers from the issue that individual test cases' executions are not isolated. So, if test case A changes object ::foo and test case B also changes object ::foo; one would have to be careful, e.g. with the test order (baaaad) or cleaning it up in tearDown (unDRY).
Some requirements worth nothing:

The test runner is able to isolate test case executions.
We want an easy command line instruction to run tests (e.g. rake test).

We would want a different object store for each test. This means that a different object store is loaded and unloaded for each test.

Is this easy to do from C?, i.e.: load a store, run a test, get and accumulate the results, unload the store. Sounds hard.
An alternative could be running different cortex commands, that is, the rakefile will look something like

output = `cortex mytests.cx`
success = if $? == 0 then true else false end

However, the above approach will keep every child process completely separate, and the results couldn't easily be collected in a same object store.

Talk about keeping the results; the current TestRunner only collects results numerically; it doesn't hold the executed test cases--they're anonymous, not under its scope--, we could change that, but it's not relevant now.
Also, how can we tell a cortex object store which specific test to run from the command line?

Test framework is implemented. Additional features for the test framework will be captured by new issues.


Prepare Operator so that is can be installed in Disconnected Environment

This documents describes partially that Images used by the Operator should be made configurable so that the Operator can be installed in a Disconnected Environments https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/contributors/design-proposals/related-images.md
all images used by the operator should be made configurable via env variables and be referenced via SHAs

I am planning to start work on this soon, as the operator should support air-gapped installs where an internet connection is unavailable. The images used by the operator should use the SHA tags instead of standard version tags.

I'm evaluating Argo for air gapped envs, so this feature would be a game changer

Released as part of v0.0.5.


Replace Vite dev server process with ViteDevServerBackgroundService

Problem:
The issue with the current implementation is that the Vite dev server doesn't launch and stop all child processes reliably sometimes.
Proposal:
The underlying solution is to launch the Vite binary directly and send a SIGINT on stopping. This PR replaces the current process and stop script logic with a background service and uses CliWrap to launch the Vite dev server.
By having it as a BackgroundService, we can run the process concurrently as executing the command blocks the thread and pipe the output to the application's logs.
We should avoid running the command npm run dev since it doesn't close properly probably due to how npm/pnpm/other package managers spawn Node and manages processes, so I replaced the command to directly call node_modules/.bin/vite (on Windows, it runs vite.CMD). If this doesn't work on Mac/Linux (haven't tested), an alternative would be having node some-script.js file that either programatically starts Vite, or calls Node's exec or execSync to have Node manage the child processes that the command may spawn.
I've removed the logic that checks if the server is running on the port as it seems to now close the Vite processes reliably. However, with the nature of how funky launching a Node process from .NET is, we'll need more testing to see if it closes reliably, otherwise we should bring it back and then add logic in the BackgroundService ExecuteAsync before launching the command to check if it's already running. There could be an edge case where the main app stops unexpectedly during runtime or if the user force closes the app.
About CliWrap: it provides a wrapper around Process. It's MIT licensed, do note their terms of use; without this library, we'd have to abstract some logic around Process for SIGINT and piping output. It sends a SIGINT when the application is stopping, which is like typing CTRL + C when running a Node script/Vite directly, which is more reliable than stopping the process as launching Vite spawns multiple child processes (e.g. Node and esbuild). It also handles cancellation tokens and pipes standard output accordingly.
Environments tested:

✅ Windows
❓ MacOS
❓ Linux

@Eptagone So far this seems to work good. Feel free to disregard the PR or make changes (some more refactoring may have to be done to clean up the middleware, etc). It's a bit of an experiment on my end and it needs some testing in other environments. 😃
Related:

#1
#75
#41
#61

Hello, I'm not sure. I would prefer not to have to add dependencies if possible.
And also, I would prefer this project to be neutral and not have to get involved in political issues. I say this because of the terms of use of that dependency.
So, I'm sorry but I'm closing this PR. If you find another alternative, feel free to open a new pull request.


Add MIGRATING.md

Add breaking changes list / migration points for 0.10.x to 0.11.0.
Closes #583.

Last issue before 0.11 release.

Cool. Merging this, and cutting 0.11 next.


can i stop update specific plugin.

Hi, can i stop update specific plugin?
i get a error on plugin "tagbar". it's new version need "pyx" commond.
so i want this plugin stay on a old version and never update. but other plugin keep on updating.
what should i do?
thk u for you reply.

Type:

[ ] Bug
[ ] Enhancement
[ ] Feature Request
[x] Question

OS:

[ ] All/Other
[ ] Linux
[ ] OS X
[x] Windows

Vim:

[ ] Terminal Vim
[x] GVim
[ ] Neovim

https://github.com/junegunn/vim-plug#plug-options
Set one of the following: frozen, tag, commit.


"Durazno stopped working" with Dark Souls II Scholar of the First Sin on Win 8.1

Copied the 64bit files from Durazno v0.6-18 to my game folder, but when I want to start durazno.exe I get "Durazno XInput Wrapper GUI stopped working".

Try using the GUI elsewhere then copy only the INI and DLL files. Do not copy the GUI.

Answered within 5 minutes and solved my problem, thank you very much!


Set compiler target to 11; Fix several issues in JAXBUtils

@reta  Can you please review ?

Thanks a lot @jimma ! If you want me to move the branch to origin (you would be able to simply push there), let me know please.

Thanks a lot @jimma ! If you want me to move the branch to origin (you would be able to simply push there), let me know please.

You are welcome @reta.  It's good to move this branch to 'origin', and please review my directly pushed commits when you get time.

👍 will do that shortly!


feat: upgrade hpcloud/tail to a1dbeea

Hopefully resolves #17
When digging in about the issue when hpcloud/tail package stops tailing new lines found out few issues on this package which got resolved in the upstream but we are using quite old 1.0.0 version.
One of the fixes: https://github.com/hpcloud/tail/pull/99
Hopefully this will fix the issue :crossed_fingers:

List of commits in the hpcloud/tail since verion 1.0.0

If the issue occurs again event after the upgrade I'd suggest to add check if the file size is changing and we are reading new lines otherwise reinitialize the Tailer and that would hopefully start the tailing again.


Change gRPC implementation to layer on top of HTTP2 transport

Purpose
Resolves #8460
Goals
Current Ballerina gRPC implementation depends on grpc-netty implementation to setup http2 connection. we need to use transport-http dependency instead of grpc-netty. From this fix we remove following grpc dependencies from the ballerina distribution.

io.grpc:grpc-netty
io.grpc:grpc-protobuf
io.grpc:grpc-stub
io.grpc:grpc-context
io.grpc:grpc-core
io.grpc:grpc-protobuf-lite
com.google.guava:guava(transitive dependency)
io.opencensus:opencensus-api(transitive dependency)
io.opencensus:opencensus-contrib-grpc-metrics(transitive dependency)

Load Test results
This is quick load test done in my local machine(MAC 11) to find out any performance degrade with new implementation, may not be accurate figures.
Test is carried out for simple unary service[1] implemented in ballerina using jmeter java sampler client.

https://github.com/ballerina-platform/ballerina-examples/blob/master/examples/grpc-unary-blocking/grpc_unary_blocking.bal

No. of Threads: 1800
Ramp-up period: 30s
Loop count: 500
Results:

Jconsole observation:

Approach
Rewrite gRPC message passing logic on top of HTTP2 transport in wso2/transport-http.
User stories
Not changes. Change is mainly in backend logic.
Automation tests

Unit tests
No
Integration tests
Integration tests are already available.

Test environment
MAC, JDK 1.8
Learning
Some code taken from grpc-java(https://github.com/grpc/grpc-java) code.

:white_check_mark: Build ballerina-lang 60 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/017543b13b by @daneshk)

:white_check_mark: Build ballerina-lang 67 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/a83ed39b1f by @daneshk)

@anupama-pathirage Thanks for reviewing the PR. I corrected all pointed code issues.

:white_check_mark: Build ballerina-lang 133 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/d89cebd4fd by @daneshk)

:white_check_mark: Build ballerina-lang 154 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/11ab4677e4 by @daneshk)

:white_check_mark: Build ballerina-lang 173 completed (commit https://github.com/ballerina-platform/ballerina-lang/commit/7e1775ff9d by @daneshk)


build: Use PYTHON to determine the correct python executable

Seems like the approach works for a conda-forge based environment but not with others.

The failure is specific to the CI here as the PYTHON environment variable is set to the version, not the executable: https://github.com/pydantic/pydantic-core/blob/752d9c80ab17eec0f12a61060d6d0695d2672f00/.github/workflows/ci.yml#L81

happy to change CI, but I imagine this could catch other people.
Is there any other env var set by conda-forge that we could use?

see my comment (I guess it came the same time as your comment), I think this should be marginally safer, but happy to change CI instead.
Humm, seems #355 might have benefitted from respectiong PYTHON more generally too, happy for you to revert and change ci, or I can.

Codecov Report

Merging #469 (fc6e90e) into main (389b9ed) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head fc6e90e differs from pull request most recent head e4b5b15. Consider uploading reports for the commit e4b5b15 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #469   +/-   ##
=======================================
  Coverage   94.75%   94.75%
=======================================
  Files          93       93
  Lines       11486    11488    +2
  Branches       25       25
=======================================
+ Hits        10883    10885    +2
  Misses        596      596
  Partials        7        7

see 1 file with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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

Great, thanks so much.


[Bug Report]: The Tauri/React bundle isn't working.

Steps to reproduce

npm create farm@latest
Put name
cd name
npm i
npm run build
Open the build directory and open index.html in your browser
Check the console for any errors

Reproduce link
No response
What is actually happening?
In the bundle, files are incorrectly imported, including images and other assets. This issue needs to be investigated further. The page literally shows nothing.
System Info
System:
  OS: Windows 11 10.0.22631
  CPU: (12) x64 AMD Ryzen 5 3600 6-Core Processor
  Memory: 9.88 GB / 15.90 GB
Binaries:
  Node: 22.4.1 - C:\Program Files\nodejs\node.EXE
  npm: 10.8.1 - C:\Program Files\nodejs\npm.CMD
Browsers:
  Internet Explorer: 11.0.22621.1
npmPackages:
  @farmfe/core: ^1.2.4 => 1.2.8

We'll take a look

Modern browsers will deny all insecure access, and opening the entry file directly will be blocked by the browser. You can either try to see if the compiled exe file works after executing pnpm tauri build, or run pnpm preview and open it in a browser.

Yeah, but does it really create an .exe? I've only seen the bundle of HTML, CSS, and JavaScript. Besides, when you try to bundle it, TypeScript gives an error for some reason. That's why I created a file called declare.ts with this code, and only then can I run it
declare module '*.svg' {
    const content: any;
    export default content;
}

declare module '*.png' {
    const content: any;
    export default content;
}

And dist no have a .exe or am I wrong?

And dist no have a .exe or am I wrong?

Tauri should run pnpm tauri build instead of pnpm build. The previous is building tauri and the latter is building frontend. For more info please see Tauri Documentation

Thanks bro

Thanks bro, before with vite it was just npm run build, sorry

Never mind :)

I will close this issue soon. If you have any new questions, feel free to reply here :)

hanks bro, I reinstalled everything: React, Tailwind, Farm, Tauri, and now it works on Brave.

But I found another problem, I think. Now, using Tailwind, the page doesn't work. If you could test it, it would clear my doubt.


Fixed symbol declarations for generic filtering mapped types

the issue was noticed here
this PR is basically a fix for an unnoticed bug in the feature implemented in https://github.com/microsoft/TypeScript/pull/51650 , the implementation itself is just a pulled-out refactor from https://github.com/microsoft/TypeScript/pull/52972 since it (accidentally) fixed this issue
cc @sandersn @weswigham (reviewers of my original PR)

Is this something we might want to cherry-pick into a 5.0 patch?

I would love for it to happen. The original intention was to make this work - it's just a bug that slipped our eyes.

@weswigham @jakebailey what’s the process of cherry-picking this into 5.0.3? Is this something that you will consider for this fix?

The process is:
@typescript-bot cherry-pick this to release-5.0
And we can discussion / merge it once 5.0.2 is out.


Scale

Observation:

Adam gets unstable at scale, as gradients become smaller and sparser. This causes beta2 to decay to 0. However, once one gradient spike happens, beta1 will shoot up almost immediately, causing a large number to get divided by eps which disturbs the gradients a lot. Current solution: SM3. Looking into MADGRAD and Mirror-MADGRAD to fix this. Untested if Shampoo is affected as well.
Distributed Dataloaders are difficult but possible. Current solution: Only one Dataloader and no input stacking.
Small-Init + input norm causes significant instability (of the bad kind, see Figure 1). Solution: Revert to normal init.
FP64 in Jax works out the box, but there were missing casts in Shampoo. Now running the entire optimizer in FP64.
Dying ReLU is a real problem. Many nodes simply die (or get their weights down to 0) and they will rarely be activated again. Also, LeakyReLU performs worse than Swish/GeLU/Mish/LiSHT. Switching to LeCunTanH which doesn't have these problems, still allows for inversion and gives similar or better results on toy datasets. New Problem: Pruning won't be possible.

Figure 1:

Shampoo improves stability:

Keeping it.

This was probably the most difficult thing to find:

We used different inputs on each model-parallel device in all previous attempts (with the sharded Dataloader).

Convergence works on v3-32s. Current training model with 16 blocks (2.5B) on one preemptible v3-32.
ToDo:

[ ] Mid-Training Checkpoint+Resume
[ ] Test MADGRAD (might solve Adam instability without diagonal SM3 approximation)
[ ] Make DeepSource happy

It still diverges. Trying alternatives to gradient descent now

HeavyBall-Adam improves convergence a good bit compared to pure Adam (same speed):

Nesterov-HeavyBall-Adam improves convergence further (same speed) and allows grafting onto it (as beta2 will never be 0 -> step size won't go to infinity)

Reducing batch size and LR decreases final accuracy

Increasing depth helps with convergence per step

While decreasing convergence per time

ReZero helps in the early training (unknown if it'll stay the same during the late stages)

Maximizing the context size (with the same number of tokens) increases batch-to-batch variance, likely because it's seeing so many different datasets.

Potential solution: Train short for a few epochs and "fine-tune" a longer context onto the model, as in BERT and Shortformer

Similarly, with a depth of 16 (above has a depth of 1), ReZero (purple) outperforms no output normalization (blue) but doesn't converge as well as SandwichLN (red):

for some reason, increasing the width of the network still hurts convergence

Losses finally match

Model finally converges and v3-32 seems marginally better than v3-8:

Not trying to match the new v3-8 loss with the old loss.

The main difference likely is the 0-init in the output embed which helps improve stability

The core problem seems to be that it doesnt converge faster with more devices

New scan+psum_scatter+all_gather-based gradients are faster and more accurate, yielding the same (or better) loss curve as with the non-parallel baseline loss:

Now onto fixing the difference between the old (blue) and new (orange/grey) code.

Together with LeakyReLU we're back at the old performance:

Testing Mish now.

Works, but v3-32 still doesn't work as well as v3-8

LeakyReLU (0.01) > Mish > LecunTanh, and even the bumps are still matched

I looked over the differences once again and solved all deepsource issues except for missing docstrings. Additionally, this branch introduces some pytests to ensure the custom gradients are actually correct this time (they weren't before).
Merging, as the state is stable and significantly better than the current main.
Convergence with v3-32s needs to be addressed in a separate branch.


Fixes error undefined is not an object (evaluating '_react2.PropTypes.string')

Fixes error undefined is not an object (evaluating '_react2.PropTypes.string').
React Native Version: 0.51.0

Do you want to rename the pull request title to "Fixes error undefined is not an object (evaluating '_react2.PropTypes.string')."? It would help other people finding this fix easily

This is excellent, thank you @anti-nerd - One problem though, it seems that this library does not yet reference prop-types in package.json.. Could you possibly add it?

@jaysoo I'm sorry to pester you, but would you have an ETA for when this might be merged and released?

You're welcome @perry-mitchell, and I believe that's true since it seems that it's newer versions of RN that have a separate prop-types library. Let me look into that.

I've released a fork of this repo under @perrymitchell/react-native-prompt, in case it might temporarily help someone, as I've needed to continue with our features and couldn't wait for this PR to be merged.

Please update the package and close this issue

@jaysoo Any chance of a quick merge and release? Seems like a really harmless PR. I would quickly close my fork in favour of this feature going out..

Is this merged?


Question: How to handle with disapproved PR(a feature they intend to release, but they don't need that feature anymore)?

Hi there,
I have a question about git flow(i am not sure about it's type of flow). Please help me answer this question. I really appreciate your time.
We  have a central repository with a branch called "feature-branch-A".
We have 4 peoples(include me) are working on that branch. So those people will fork that center repo (create their own public repo) and work on "feature-branch-A".
After some days, when i am done with my task(task 1), i pushed code to my own public repo and created a PR for merging to "feature-branch-A" on the central repo. But unfortunately my team lead disapproved my PR(we don't need that task 1 anymore) and force me working on other task(task 2) not related to the current task(task 1) (but both still in the "feature-branch-A").
In that situation, what is the best practices for handling my public own repo?

I will revert all my commits for task 1 on my public own repo. And continue working on task 2. But when i am done with task 2, i push code to my own public repo and create PR for it. But that PR will include all commits of task 1(new code commit and revert commit) although we don't see any code changes for task 1.
I will delete my public own repo and  re-fork again for working on task 2.

Thank you so much for reading my question.

IMO,
You can branch off from your forked repo's master branch (eg, called feature branch B) for task 2.


fix scrape time env config

Cherry-picked from #1119 ,which has two commits but #1293 only cherry-pick the first one.

Coverage increased (+13.02%) to 64.274% when pulling 010047156a21712246afbfb35966e45a986847af on qixcheng/webportal/fix-scrape-time into a87e98137c6bf8a3274cb7440acb8c867f5ec014 on master.

Coverage decreased (-0.01%) to 51.239% when pulling 010047156a21712246afbfb35966e45a986847af on qixcheng/webportal/fix-scrape-time into a87e98137c6bf8a3274cb7440acb8c867f5ec014 on master.

Coverage increased (+13.02%) to 64.274% when pulling 010047156a21712246afbfb35966e45a986847af on qixcheng/webportal/fix-scrape-time into a87e98137c6bf8a3274cb7440acb8c867f5ec014 on master.