Proposal: New App Reviewer Buffer

What is the problem you are seeing? Please describe.
Social media marketing is a key function of successful companies, and we should be embracing that in the decentralized web community. However, there are significant problems with incentivizing "reach". The current App Reviewer, Awario, as best I can tell, does not have a component that tracks engagement or quality of reach. In tracking just reach, app developers and the Blockstack community gain very little value. Reach is essentially meaningless when it can be gamed and when it does not generate leads.
In fact, Awario is more of a tool for monitoring mentions not increasing engagement. This is misaligned with the goals of App Mining and Blockstack.
What is the explicit recommendation you’re looking to propose?
I propose a new App Reviewer to handle social marketing. I believe that App Reviewer should be Buffer. There are a few things that will really benefit the entire process here:
-Buffer has a tool for scheduling posts. So one requirement could be that all social marketing scores be based of posts that originated out of the app's Buffer queue.
-Buffer has an analyze tool. This tool would need to be evaluated, but it appears to track the quality of reach and engagement.
-Buffer encourages apps to actually put in the leg work rather than resorting to slimy bot farms.
Describe your long term considerations in proposing this change. Please include the ways you can predict this recommendation could go wrong and possible ways mitigate.
Buffer may not be interested in participating in App Mining. Buffer may not be willing to easily share numbers from a user's queue. Devs may be adversely affected because they don't use social media at all now.

@jehunter5811 ,
Nice, I will have to check out Buffer. I have not heard of them.
Have you heard of SproutSocial? https://sproutsocial.com/ They are based out of Chicago and I know a developer who works for the company.

Sprout Social’s social media management software and solutions help you find, form and deepen real connections with the people who love your brand.

I have not personally tried it out yet but it looks interesting.

I used SproutSocial way back when. Buffer, I think, provides better tools but admittedly I haven’t used SproutSocial in a while.
I specifically propose Buffer because their goals are very much aligned with Blockstack. They are not trying to get companies to promote bots and gain reach. They are trying to help apps gain organic growth by doing the actual leg work of social media marketing.

In case people don’t know about Buffer, here’s the link https://buffer.com

First, big fan of Buffer and I could warm up to this.
That said, here are some things I am thinking about right away: I don't think it's a very fair (or accurate) look at someone's marketing efforts or reach/growth to only look at posts they send. Other forms of marketing may be WAY more effective for certain Apps and they would suffer for doing the right thing and focusing on those. We're essentially imposing social media marketing on everyone as a requirement to be successful in App Mining, not sure that's the right call. Also, Buffer doesn't differentiate between posts you send from their interface and ones your account sends from elsewhere, it tracks metrics on all the sent posts in your accounts - not sure how we could separate.
Other things:

Buffers engagement score is opaque
A buffer agency setup might work to give visibility to everyone on each account's metrics, but we may be looking at custom work here they may or may not be able to do
This doesn't encourage teams to do the right marketing for them, it encourages them to do social - what I liked about Awario was that it was quite a bit more holistic - a team may be best-suited spending their time and money on Google ads and nothing else, but they would be punished.
New apps with no following would suffer.
There's nothing about Buffer that inherently encourages people to do the legwork, in fact they have an automated tweet sourcing mechanism built in that is. They can still do all the same bad stuff, I think only counting Buffer posts is the attempted solve there, but see my points above.

SproutSocial is another awesome tool and I use it regularly. I see similar limitations.
This decision kinda comes down to if we want to say to the community, hey, you have to do direct social media marketing to be successful in this program. I think that's right for probably 80%+ of folks, but maybe not everyone.
Related idea but still limited --> https://sparktoro.com/tools/sparkscore
I could think combining a few scores like this from different places into one score might be compelling

We're essentially imposing social media marketing on everyone as a requirement to be successful in App Mining, not sure that's the right call.

That call was already made with the introduction of Awario. If you do not do social media marketing, you will not get any sort of decent Awario score. Not sure what the difference is here.
If we have a social media score (and I know Awario tracks blog posts and news articles, but those are clearly worth less based on what I've seen so far), then using some method that does not encourage paying bots and driving up artificial reach numbers seems to make the most sense. Maybe Buffer isn't the right tool, but I think it's a heck of a lot better than looking at reach.
Again, I think if we are going to use social media as a component in App Mining, engagement should be the criteria, not reach.

We're essentially imposing social media marketing on everyone as a requirement to be successful in App Mining, not sure that's the right call.

App mining is most definitely imposing social media marketing as a requirement to be successful.  Resorting to twitter bots or paying for PH upvotes was not even a discussion until it started to have a significant impact on the score.  As evidenced by PH upvote impact

dmail had 1000 PH upvotes when they initially hunted but somehow only had 200+ users on it.
I'm not saying dmail bought votes but PH having a 63% impact on the final score is an indication that social media marketing is a HUGE factor to be successful in App Mining.

Not sure I agree totally, Awario picks up Mentions and therefore Reach from news and blogs across the internet which is MUCH wider than what Buffer would get. To your point, I don't think anyone has been that successful at this so far, but it's actually a huge way to get great numbers. It also picks up Reddit, which is somewhere between social and web.

Point being I feel like we shouldn't go more specific, we should be looking to assess more broadly if anything. Maybe it's not possible, but aspirationally, the more complete marketing picture is better than a super specific (1-3 channel) one.

I'm generally in agreement on Engagement - though I think the value of it varies dramatically app to app and there are probably many where just raw exposure is ultimately more helpful to user acquisition that a handful of tweets being highly engaged with. A 90% engagement score on a tweet that only 100 people saw probably results in less new users than a tweet that was seen by a million or 2 people with only a 5% engagement.

Would Miner's generally be open to an engagement score where the formula isn't published?

I doubt people would be in favor of anything less than transparent. We saw this with the Product Hunt team vote early on in App Mining.
If people believe that it's possible to have reach measured without fake reach being calculated and without an labor-intensive process of vetting actual social reach, then I agree with everything you're saying, Mitchell. I just don't believe that it's possible to have both of these things.
I think we can have reach continue being the measurement and accept that people are going to pay bot farms. Or we can eliminate reach as a measurable part of the Awario score (or eliminate Awario entirely). I hope someone can convince me otherwise, but I don't see it being possible.

I think we should work on marketing guidelines that are valid for Buffer and Awario. Before we don't have I don't think it make sense to explore a new reviewer.
Whether a marketing activity (bot farm, influencers, PH upvotes, ..) is paid or not, does not matter, it matters whether it is within the guidelines.
For me reach is meaningful, if these are real impressions, viewed by people. Ad networks have a good understanding of whether an ad is viewed or not. Maybe we should measure how many people clicked on an ad of our apps? E.g. 50€/month for each app is spent on twitter ads. The reach is then calculated from the ads analytics.

There seem to be two discussions here:
a) Are marketing effort and social media engagement useful metrics (regardless of how we measure it)?
b) How can we counter attempts to game such metrics?
RE the first, I'm of the view that yes they are. If no one knows about the great app that you've built then that is not really helping towards the mission of Web 3.
RE the second, I think there will certainly be noise and certainly be some unintended consequences of measuring the score (like paid bots). The challenge is how to get better data out. Hacker News does a great job of making their system less gameable. My hope would be that the App Mining incentives would drive people to improve how gameable these systems are. That can be a big win.

Hey all, we're going to prioritize testing out the altered Awario models for now and in the meantime see if we can get a good contact at Buffer. This would be a bit hard to do with their off the shelf tool so I'm not hopeful about being able to work with them easily, but we'll see what we can drum up.

@cuevasm What will happen in case of founding out some participants did game the system (like Awario incident or paid bots for PH upvotes) in the previous round? It seems logical to effect "Score Last Round" to prevent the effect on future rounds.

We're essentially imposing social media marketing on everyone as a requirement to be successful in App Mining, not sure that's the right call.

App mining is most definitely imposing social media marketing as a requirement to be successful. Resorting to twitter bots or paying for PH upvotes was not even a discussion until it started to have a significant impact on the score. As evidenced by PH upvote impact

dmail had 1000 PH upvotes when they initially hunted but somehow only had 200+ users on it.
I'm not saying Dmail bought votes but PH having a 63% impact on the final score is an indication that social media marketing is a HUGE factor to be successful in App Mining.

First time to note this, let me clarify some facts we think that you missed.
1 - 200+ is the number of new Blockstack users because of Dmail, it is not the total Dmail visitors.
2 - At the time of this twitter post, you can find that total logged in Blockstack IDs almost 450 users.
3 - Who said that in order to upvote and like app idea, you should try it? Personally, sometimes I do upvotes for some apps on PH just because I liked the idea, so, the total number of App users is not the right indication for PH upvotes.
4 - we recommend to check  https://theblockstats.com/ to find where is Dmail according to the total number of installs.
5 - The biggest part from June score for Dmails came from PH because at the first month of participating in App mining program, you only evaluated from 3 of 4 viewers,  this is why you can find this effect.
6 - PH has it's own special (not public) formula to count only credible UV.
Last but not least, we believe that the top three apps in ranking may stay under focusing more than others, especially when the App being participated for the first month and get the first place. (like Dmail), at that time people try to think that they did some cheats or some gaming to reach there, but no one looking at the efforts already done.
Please try to review Dmail posts on the slack channels (especially Apps channel) and count the total number of features and update we did announcements about, and do compare with some other (silent) Apps since we have launched Dmail.
Thanks.

@dmailonline
I'm pretty active in the community so I'm aware of how many ProductHunt upvotes ya'll had when dmail initially launched relative to the numbers on the https://theblockstats.com and it was around 200.  Either way, that wasn't the point of my original response to
We're essentially imposing social media marketing on everyone as a requirement to be successful in App Mining, not sure that's the right call.
Ya'll are doing a great job, and I see all the updates the team is making so I'm not critiquing the development work that's being done.  Like I said...
I'm not saying Dmail bought votes but PH having a 63% impact on the final score is an indication that social media marketing is a HUGE factor to be successful in App Mining
The purpose of the reference was that 63% is a huge impact on an app's final score.  Having it so heavily weighted in the beginning of an app mining submission can cause OTHERS to possibly game the system via buying upvotes if they are aware of the importance of the first submission.

@kkomaz
Every single reviewer in the program ( Except digital rights) is subjective. you will not be able a find the best solution.
TrymyUI .... is very subjective, if someone knows about Blockchain or Blockstack, so you can estimate a high score from him if someone just knows how to open his laptop and do some browsing (the majority of the testers in TrymyUI are from this category) so you may get a very bad score. In last round, Dmail got a score of 95.31% from a tester and got 7.8% from another tester .... see the big fluctuation?
Awario ... still we don't have a solid solution to stopping the bot actions.
PH ... if you are lucky at the PH launching it will be perfect, if not then you stuck for a 6 month till you can make a re-launch.
There is nothing very objective and I really like rather than Digital rights which measures what you are doing with Blockstack tools ... very simple ... if you do this, you will get that, 0% to game it.
From my perspective, finding a way to review and evaluate with 0% to game is better than trying to reduce the gaming effect in a reviewer.
Thanks.

Yep!  Agree with you completely!  @dmailonline 👍🏻
Intention of the post was not ill will, (although I can see how you saw it that way) but showing some stats that clearly reveal the short & long term impact subjective scoring can have on app.  🤝

What is the problem you are seeing? Please describe.
Social media marketing is a key function of successful companies, and we should be embracing that in the decentralized web community. However, there are significant problems with incentivizing "reach". The current App Reviewer, Awario, as best I can tell, does not have a component that tracks engagement or quality of reach. In tracking just reach, app developers and the Blockstack community gain very little value. Reach is essentially meaningless when it can be gamed and when it does not generate leads.
In fact, Awario is more of a tool for monitoring mentions not increasing engagement. This is misaligned with the goals of App Mining and Blockstack.
What is the explicit recommendation you’re looking to propose?
I propose a new App Reviewer to handle social marketing. I believe that App Reviewer should be Buffer. There are a few things that will really benefit the entire process here:
-Buffer has a tool for scheduling posts. So one requirement could be that all social marketing scores be based of posts that originated out of the app's Buffer queue.
-Buffer has an analyze tool. This tool would need to be evaluated, but it appears to track the quality of reach and engagement.
-Buffer encourages apps to actually put in the leg work rather than resorting to slimy bot farms.
Describe your long term considerations in proposing this change. Please include the ways you can predict this recommendation could go wrong and possible ways mitigate.
Buffer may not be interested in participating in App Mining. Buffer may not be willing to easily share numbers from a user's queue. Devs may be adversely affected because they don't use social media at all now.

My Equipool miner is not working correctly. How do I get it to work? It mines and the miner shows speed as 21 sols/s, BUT when I go to the Equipool data site it shows Speed 0, and Avg speed 0. Why is this app not working? Red letters on my miner say "INFO: GPU0 Rejected share 50ms [A: 0, R:1 (or R:2 or R:3 etc)]. I got screenshots.


Added schema snippets that help to match files to file types.

Added a few attributes and specialised classed that would allow to match a specific file to a file type.
This is all kind of file type metadata that would be helpful to automatically find a described file type for a specific concrete file at hand. These are all ideas that we implemented in NOMAD in one way or another to find the right extractor for a given file.

This is my usecase. If someone uploads an arbitrary file to my ELN and I have a whole registry of tools to process it, the ELN still needs to figure out which tool to use. Identifying the FileType would give you the connection. Otherwise, I need to rely on the source (e.g. user) to tell me the type.
To apply a tool, the ELN needs to figure out the FileType one way or another. This is why you ask for a FileType identifier, right? Maybe it is difficult, but If you agree that it is a valid use-case, why wait for the next MaRDA WG to figure it out? I am not sure how additional information would reduce the useful-ness.
Let's say we are not using the registry to identify FileTypes. The tools in the registry still need to somehow tell what their intended input FileType is. And it ought to be more specific than JSON, HDF5, csv, etc. Why not describe the FileType by characteristics that would help to identify a file's type?

Isn't the mime type + extension + fileinfo sufficient to figure out a file type? This is how it's done in the PHP world: https://github.com/symfony/mime/blob/6.2/MimeTypes.php

The general class of file types, you can figure out like this, e.g. HDF5, json, XML, csv, ASCII. But this information alone only gets you half-way, if there are a couple dozens tools for HDF5, where each of those only understands a very specific "flavour".  If your tool only understands a certain HDF5 "flavour" and won't run on every HDF5 file, specifying its input file type as HDF5 would be wrong, wouldn't it? I think the term FileType should be understood in such a way.

I guess there are three scopes you can go for:

just name the input file type
describe the input file type enough to match tools to files
fully specify the allowed input file type with schemas and everything

My intention with this PR was to go for 2.

Thanks for your input.
My intention with this WG was to go for 1. and eventually work our way towards 3. using undiscovered unicorn magic coming from another MaRDA WG.
If you guys think 2. would be useful for your ELNs right now, I'm on board in principle. However: I don't know how to do this, and I don't have the capacity right now to do this, so I will need your help.
@markus1978 could you mock up a quick example of how these extra FileType attributes would work? I have trouble visualising it with what you proposed in this PR at the moment. It would then be great if @NicolasCARPi and/or any other ELN developer could chime in whether that implementation of this idea is helpful for them, so that we can cover as many use cases in the initial design as practicable.

It would then be great if @NicolasCARPi and/or any other ELN developer could chime in whether that implementation of this idea is helpful for them, so that we can cover as many use cases in the initial design as practicable.

the query thing is also what we use in practice. In our drag and drop fields we have some logic that first checks the extension and then performs some query that is indicative of a given filetype and then calls a specific parser.

I can understand why 1. and 3. are more attractive. 1. being the easy one and 3. the engineering-wise soundest one. With 2. being the ugly, more fuzzy, dealing-with-false-positives-and-their-like one. But, NOMAD used 2. to match 12 million unknown files to their respective extractor.
No hard feelings, if you decide to define the scope differently and reject this. This super-quick-and-dirty PR is only for communicating ideas. For this and other stuff that is not the WG's scope, maybe there should be an registry extension mechanism within the WG's scope?
Just to get the ideas across. Here some very none OO, highly unoptimised pseudo code algorithm to utilise filetype information to find the right extractor for a given file in file_path.
def get_extractor(file_path):
    mime = magic(file_path)  # magic is an actual library to figure out the mime type of files.
    for tool in registry.tools:
        file_type = tool.file_type

        if mime not in file_type.mimetypes:
            continue

        if not regex(file_type.filenames, file_path):
            continue

        if isinstance(file_type, TextFileType):
            some_content = read(file_path, MAX_CONTENT_MATCH_SIZE)
            if not regex(file_type.content, some_content):
                continue

       if isinstance(file_type, StructuredFileType):
            reader = get_structured_format_reader(mime)
            data = reader.read(file_path)
            if file_type.characteristic_keys not in data:
                 continue
            if file_type. characteristic_key_values not in data:
                 continue
            if not xpath(file_type. query, data):
                 continue

       return tool

Thanks a lot @markus1978, I think I get how this would work now.
Would "we" (MaRDA WG) provide this get_extractor function (or a "reference implementation thereof"), or would we simply define the FileType schema and leave these implementation details completely for downstream teams including folks like the three of you?

Great discussion! If we can help people do 2. with what we standardize then I don't see any reason to miss it out. My concern was that it (to me) requires some "meta-standard" to be useful, on how to specify the query and the tools that are required to execute it (e.g., xpath, regex, JSON keys, etc.) -- if there are already many projects doing this in different ways then chances are our version of the metastandard would not be that useful. Perhaps I am overcomplicating it though?
I can see that this is where @markus1978 original inheritance ideas would work nicely, as e.g., the inherited structured file type for JSON could interpret query as nested field names, whereas the equivalent for XML could be xpath and text files could just use a regex. I would still try to introduce this via composition rather than inheritance but would need some more time to think about it.
Somehow this implies a MaRDA FileType Detector client API on top of everything we have previously discussed; I'm not sure deploying a service for file type detection that implements this client is within scope of this WG (at least in the next 9 months!), but it feels like this is what is required to make this actually useful?

Closing for more discussion in #45; this PR can then be revisited with the latest schema updates.


compatability with QuTiP 5

I am using some of the functionality associated with the pre-release of QuTiP 5, and in order to also use scqubits this small import fix is required. I have not found any other incompatabilities

Thanks Danny.


v2.0.1 is throwing deprecation warning for using #tables instead of #data_sources

DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead.
This is being thrown when i run DatabaseCleaner.clean_with(:truncation)
After some searching, i found 2 PRs that fixed this and were merged onto master, PR1 PR2, but it seems like these fixes got lost somewhere.
I used git bisect to find which commit broke and it may have been this one, b83ed7d1e39c16ccd54342f37f4d1094366bc579 , but i do admit that i narrowed my search to what commit broke it on the database_cleaner gem, not on database_cleaner-active_record gem, so i am not sure

Dear maintainers, which versions of Rails is this and Database_cleaner-active_record supposed to support? I'm thinking of opening a PR to that repository  making it handling this data_sources/ tables situation again. But it is good to understand what are the intended versions to be supported before any suggestion

@Marinofull That is a good question. I don't think we ever defined a support policy.
I believe we should follow Rails' maintenance policy: https://guides.rubyonrails.org/maintenance_policy.html
If there are any issues with unmaintained versions of Rails I don't see why we should offer support for that.


File transfer to server in redux-saga

I am using redux-saga in my react web app. On UI side I am taking email and a file input and want to send the data to my django server. The email value is coming fine on server side but i'm not able to send file. Can anyone please help, how can I transfer the file selected on UI?
Thanks

This is excellent blog post about file uploading with redux-saga https://decembersoft.com/posts/file-upload-progress-with-redux-saga/

The issue seems to be resolved, therefore I'm asking it.


Fix Gnosis chain symbol

Fixes https://github.com/gemwalletcom/gem-ios/issues/77 It's xDai

It's the chain logo, I think we should keep GNO logo like we do for arbitrum and op

Got some XDAI. The wallet still shows GNO as ticker.


Indicate supported versions of dataplane and controlplane.

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
The gateway by default uses the correct version of the dataplane and controlplane images. But it's configurable and a user may end up with a setup that's actually not supported. We should at least document what versions are supported.
Proposed Solution
No response
Additional information
No response
Acceptance Criteria
No response

where are the compatible version for use by the gateway operator listed?

Hi @ksully-execute 👋
This project is currently under heavy development and there are a lot of moving parts (which might not be visible to the public eye).
With v0.4.0 which is the latest release that currently available - https://github.com/Kong/gateway-operator/pkgs/container/gateway-operator - we currently support KIC (as ControlPlane) in versions 2.7+ and Kong Gateway (as DataPlane) 3.0.
There's been a lot of development w.r.t the these constraints internally and next release might significantly change what I just mentioned so you might want to stay tuned for that.

Ok, thanks Patryk
From: Patryk Małek @.>
Sent: Monday, June 12, 2023 5:40 AM
To: Kong/gateway-operator-docs @.>
Cc: ksully-execute @.>; Mention @.>
Subject: Re: [Kong/gateway-operator-docs] Indicate supported versions of dataplane and controlplane. (Issue #3)
Hi @ksully-execute https://github.com/ksully-execute  👋
This project is currently under heavy development and there are a lot of moving parts (which might not be visible to the public eye).
With v0.4.0 which is the latest release that currently available - https://github.com/Kong/gateway-operator/pkgs/container/gateway-operator - we currently support KIC (as ControlPlane) in versions 2.7+ and Kong Gateway (as DataPlane) 3.0.
There's been a lot of development w.r.t the these constraints internally and next release might significantly change what I just mentioned so you might want to stay tuned for that.
—
Reply to this email directly, view it on GitHub https://github.com/Kong/gateway-operator-docs/issues/3#issuecomment-1586968976 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AM7GEBIF5XVKHV6AROVZUV3XK3PWTANCNFSM6AAAAAAQKWTKB4 .
You are receiving this because you were mentioned.Message ID: @.***>

Can you give me a hint as to when we can expect something published?
From: @.*** @.>
Sent: Monday, June 12, 2023 7:26 AM
To: 'Kong/gateway-operator-docs' @.>
Subject: RE: [Kong/gateway-operator-docs] Indicate supported versions of dataplane and controlplane. (Issue #3)
Ok, thanks Patryk
From: Patryk Małek @.*** @.> >
Sent: Monday, June 12, 2023 5:40 AM
To: Kong/gateway-operator-docs @. @.> >
Cc: ksully-execute @. @.> >; Mention @. @.***> >
Subject: Re: [Kong/gateway-operator-docs] Indicate supported versions of dataplane and controlplane. (Issue #3)
Hi @ksully-execute https://github.com/ksully-execute  👋
This project is currently under heavy development and there are a lot of moving parts (which might not be visible to the public eye).
With v0.4.0 which is the latest release that currently available - https://github.com/Kong/gateway-operator/pkgs/container/gateway-operator - we currently support KIC (as ControlPlane) in versions 2.7+ and Kong Gateway (as DataPlane) 3.0.
There's been a lot of development w.r.t the these constraints internally and next release might significantly change what I just mentioned so you might want to stay tuned for that.
—
Reply to this email directly, view it on GitHub https://github.com/Kong/gateway-operator-docs/issues/3#issuecomment-1586968976 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AM7GEBIF5XVKHV6AROVZUV3XK3PWTANCNFSM6AAAAAAQKWTKB4 .
You are receiving this because you were mentioned.Message ID: @.*** @.***> >

No ETA to disclose for now unfortunately.

where are the compatible version for use by the gateway operator listed?

This is now covered by documentation:
https://docs.konghq.com/gateway-operator/latest/reference/version-compatibility/


W T:\src\github\tensorflow\tensorflow\core\framework\op_kernel.cc:1318] OP_REQUIRES failed at save_restore_tensor.cc:170

System information
Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No. I am trying to run the Speech_Commands example
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10 x64
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 1.9.0
Python version: 3.5.4
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:
Describe the problem
The training of 18000 steps is over successfully and I have got both the confusion matrix and the accuracy. I am trying to freeze the model by running freeze.py. I am getting errors.
Source code / logs
The command I typed is as follows: as given in the tutorial.
C:>python C:\Users\EDDY\tensorflow\tensorflow\examples\speech_commands\freeze.py
The output I got is as follows:
I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
W T:\src\github\tensorflow\tensorflow\core\framework\op_kernel.cc:1318] OP_REQUIRES failed at save_restore_tensor.cc:170 : Invalid argument: Unsuccessful TensorSliceReader constructor: Failed to get matching files on : Unknown: FindFirstFile failed for: ./Documents and Settings : 存取被拒。
; Input/output error

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Mobile device

Hi @da-iyoulin -- can you provide a link to the code you are trying to run? What precisely is the command you are using to run the freeze script?

Link：https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/speech_commands/freeze.py

Based on the error above, it looks like a required file is not being found. What is the exact command you are using to run the script, and are the input files correctly passed?

Nagging Assignee @karmel: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @karmel: It has been 44 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Change date format to DD-MM-YYYY

I want to change the date format to DD-MM-YYYY. How can I do it ?

you can pass the date format to your gantt constructor. that should help you with what you want.


Resize a selection

Could we get a feature to resize a selection? Transforming a selection would be really useful. I've yet to find a way to do it in Piskel, so unfortunately I'll be going back to using Photoshop until it's implemented (rip).

Yes, this would be very useful!

Is this ever coming? Seeing as I can't import PNGs as single frames to add onto an existing animation, and I don't feel like manually 2x-ing the size of like half of all my game's sprites while keeping the rest small, I don't think there's any reasonable way to do this.


Drop support for python 3.5

JupyterLab is dropping support for Python 3.5 in 3.0, see also https://numpy.org/neps/nep-0029-deprecation_policy.html

JupyterLab is dropping support for Python 3.5 in 3.0

When was this decided?

Duh: https://github.com/jupyterlab/jupyterlab/pull/8903
Sometimes I don't know where my head is :)

:smile:

Oh, I think the reason I didn't push that change down to this level is that Notebook 6 supports python 3.5, and I thought we wanted nbclassic to be a drop-in replacement. So I thought that supporting python 3.5 was deliberate for jupyter_server to make sure people could migrate off notebook.

I think since Python 3.5 reaches end-of-life on 9/13, we can ask that people move off in jupyter_server and Notebook at this point. I'm planning to submit a PR to remove Python 3.5 from Notebook too.


BugFix: new mp will cause mn startup failed

Previously, we merged a pull request that detects the snapshot file at metanode startup to avoid building the wrong metadata #1642.
But it will cause the problem that the metanode startup failed in some cases. For example, a newly metapartiton's snapshot directory may has not been created, the metanode restart will failed. So #1819 allowing meta partition to start when snapshot directory not exists.
Now we resolve this problem by creating the snapshot file when mp is newly created and still check the snapshot file at metanode startup.

this pr already merged in our private branch and will pushed together with other commits，the author and signoff will be keeped, this pr closed now and will be reopened if nessencery.


APPS-1499: fixes issues such as formatting and broken links in onboarding docs

The following links are broken:

On "Useful Information"

Both links within the image, on "Onboarding Exercise"


Better effects for search input

Really appreciate this and it's a good idea, but this is about to be dropped for a new bar entirely. So I'm going to reject this.
Also, we try very hard to avoid !important, and it should really never be necessary.


Change retrieval functions to readonly properties (#86)

Change retrieval functions to readonly properties

Add code to include CUDA DLL path for Windows section in the readme file Remove redundant code for CUDA DLL path for Windows in the sample files

Close this.
Will come back when doing major bersion bump.


add 'after' hook to execute after task state change

Add CallAfter hook function to be executed after task execution:

// CallAfter enables task processing to schedule execution of a function after the
// task execution. The function is guaranteed to be called once the task state has
// changed in the broker database.
// Function parameter:
// string: task id
// error: is the error returned by task execution.
// bool: indicates if the error - if not nil - was considered as an actual error
func (t *Task) CallAfter(fn func(string, error, bool)) {
	if t.callAfter != nil {
		t.callAfter(fn)
	}
}

This allows notification of state changes after the task state was changed in the broker's DB:
func (s *serviceLackey) handleNodeEvent(ctx context.Context, task *asynq.Task) error {

	... do something ...
	task.CallAfter(func(string, error, bool) { s.notifyNodeEvent(nids, m) })
	return nil
}

Unify error & delay handling such as to use same logic as task handling based on task type

The current code offers RetryDelayFunc and ErrorHandler config parameters that are global to all tasks.
The change allows to use 'mux' handlers for retry delay(s) and error handling based on the same logic that what is in use for Handler functions.
This would be especially useful for providing retry delays specific to task types.

LGTM. Just out of curiosity, what is the use case that you have for this?

For configurable retry delays, I do not have yet, but having a single function to cope with delays makes it unsustainable in our fabric code.
For the  CallAfter hook, I have the situation where:

some nodes run the cluster where asynq lives and
one other node - the 'service-node', potentially outside the cluster - runs a service and
the following flow

a node notifies the cluster with some event
any node on the cluster enqueues the event
the node on the cluster running the 'handle-event' function
a. handles the event
b. needs to notify the 'service-node' that a new event is available

After 3) returns, the 'event' goes to the completed state, but - without the hook - the service-node might still see it being active (unless the notification is sent in a separate go routine).


Rpc api cleanup

This removes the obsolete callback API completely along with several other improvements and bug fixes.
Outstanding tasks to be done after this is merged:

Use &'static reference so RpcHandler can be exposed to the MacOS platform code
Add a set_callbacks function to alias Javascript functions to RPC method names (mimics the callback API)

Hi @wusyong , sorry the history is a mess, I had problems rebasing after making these changes and had to resolve the conflicts manually. Hopefully, i have sorted it now.
I think this is more what we are aiming for with a lot of the old code removed and everything hanging off this thin RPC wrapper. The rpc example should work on Linux and if we are really lucky on Windows too; for MacOS support I need to make it &'static so it can be accessed in did_receive(). The logic has been moved to platform::rpc_proxy() so we can share it between platforms easily.
Look forward to your feedback, cheers :+1:

Hey sorry, I didn't realize your already start a draft. I'm going to add some changes regarding restructuring modules.
Could you clean up a bit on the commit history and merge against the rpc branch?
And yes currently it looks like rpc handler won't make it in mac since it's not a closure.
I'm looking for ways to achieve it.

Ok @wusyong I am squashing the old branch and going to close this and open a new PR shortly.
Think I have a quick hack for the MacOS issue.

@tmpfs hey I update the signature of RPC handler quite a bit because I wish it can be more general. As for window proxy, we should add another type like Callback in the application module does.


CRYPTO-38: Always use blocks

https://issues.apache.org/jira/browse/CRYPTO-38

+1

Thank @winningsix


pipx bootstrapping

pipx is great, but I want to take it to its logical conclusion: why pollute your system install with pipx and its dependencies when you can use pipx to install pipx?
This helper script lets you bootstrap pipx into a pipx-managed venv via a temporary venv.
NOTE: Creating draft now to allow for any early feedback.
TODO:

[ ] Update docs to include bootstrapping install path.
[ ] Test on Windows
[x] Test on MacOS
[ ] Test on Linux
[ ] Add testing in CI?

pipx originally worked like this but I moved away from it because

there is more friction to install it (it requires a curl-like command to get started with it, or manually copy/pasting and running with python)
the uninstall-all command removes pipx
the downside of running pip install --user pipx is minimal
there is more to remember when trying to uninstall pipx since it got installed in a one-off way
there is additional maintenance in maintaining this script
advanced users can still install this way if they want

To clarify, is that a "thanks but we're not interested?" That's ok if so, I just want to make sure I'm not misinterpreting.
I saw at the end of #44 that you mentioned a new thing available: pipx-bootstrap. I don't see any evidence of that existing anymore; is that intentional?
I've been thinking about this today, and actually, I think I can abuse setuptools to do this bootstrapping as part of an "install" (that doesn't actually install anything to system Python). That would address the issues of "downloading from some rando URL"
I'm happy to take this off as a stand-alone project if the pipx project isn't interested in this, just want to make sure that interest is lacking before I pull the trigger.

Yes, unfortunately it is a "thanks but not interested". Sorry I was so terse originally but I was a little rushed and wanted to respond quickly so you didn't put more work into it without discussing it first.

I saw at the end of #44 that you mentioned a new thing available: pipx-bootstrap. I don't see any evidence of that existing anymore; is that intentional?

Yes it's intentional. The package and repository used to exist, but were deleted. It was a lot of overhead and additional complexity for what felt like a net neutral outcome (due to the above bullet points).

I've been thinking about this today, and actually, I think I can abuse setuptools to do this bootstrapping as part of an "install" (that doesn't actually install anything to system Python).

That sounds interesting, but in practice I am very leary of doing anything outside of the ordinary in the packaging space, both for users and for pipx developers. I would reconsider if I was hearing complaints of issues with the current installation method, but for now things seem to be working okay. So I do definitely appreciate you taking the time to put this together, and I think that technically it is a better solution, since total isolation is better/safer. But in practice, it's outside the norm, and trying to re-train all users around that presents friction that I don't think is worth the cost.

No worries; thanks for the quick response.
Thanks for the detailed explanation too; that will serve as a good seed for the "Why I should/shouldn't use this thing." section of my readme.
Leaving this as a breadcrumb for anyone reading this in the future: https://github.com/mattsb42/pipipxx


Implement Geocoding & AQI/Weather Features

[x] Geocoding
[x] Get Air Quality
[x] Get Current Weather Status

Resolved in https://github.com/Hazealign/black-angus-bot/commit/485d49a837b7a992c75870593df8dcf421f99816
Thanks for @item4


feat: upstreaming the json% term elaborator

This is used in the "Try this:" widget machinery powering simp?.
There is a test file in Std, which I am not upstreaming at the same time, as that relies on more code actions / #guard_msgs material. That test file will still of course test things from Std, and later it can be reunited with the code it is testing.

It seems it failed building stage2

Indeed:
make[8]: *** [/home/runner/work/lean4/lean4/build/stage2/bin/../share/lean/lean.mk:70: ../build/stage2/lib/lean/Lean/Data/Json/Elab.olean] Segmentation fault (core dumped)


Barcode files not generated when using variable as folder name

I'm handling a large number of samples at once, so it's more efficient for me to assign the folder paths as a variable and run those in a loop. Example:
samples=(/data/sample1 /data/sample2 /data/sample3)
for sample in "${samples[@]}"; do
    scsnv count -o  "$sample"/barcode -k scsnv/data/737K-august-2016.txt -l V2 "$sample"/fastq

While the count function can detect the fastq's, it's not generating the barcode file necessary for the next step. Is there are special syntax I need to use so that the command can recognize "$sample"/barcode as a valid output path?

It may be the quotes you are using in the command.  I have used similar shell scripts in the past without issue:
scsnv count -o  ${sample}/barcode -k scsnv/data/737K-august-2016.txt -l V2 ${sample}/fastq

I figured out what was going on. I have to use double quotes in the code because the folder path I'm specifying has spaces in them (e.g. sample="Path to/sample 1"), so I can't use curly braces. When running the code with the actual directory name instead of a variable name, I'd use \  to replace the spaces (e.g. -o Path\ to/sample\ 1/barcode). However, I was defining the variable using double-quotes and the escape backslashes (sample="Path\ to/sample\ 1"), causing the value to include the escape backslashes instead of treating them as normal spaces. Once I took out the escape slashes, everything worked as normal.


Add Longhorn Enhancement Proposal for handling Volume deletion

This PR adds a Longhorn Enhancement Proposal for how to handle Volume deletion in the cases that a Volume has associated resources in Kubernetes or is Attached. The changes outlined in this proposal will make deletion of Volumes in these situations safer by avoiding leaving leftover Persistent Volumes or Persistent Volume Claims that would be unusable and warning users about possible repercussions as a result of deleting an attached Volume.
This proposal provides a solution for the cases described in #520.

One thing I have a bit concern is how are we going to delete the volume provisioned by the storage class. We might want to clarify that, since deleting the PVC/PV will automatically trigger the volume deletion.

@yasker There shouldn't be problems if the Volume was provisioned by the Storage Class. The CSI driver would attempt to delete the Volume and the call would return successfully, allowing the Persistent Volume and Persistent Volume Claim to be deleted and for the Volume itself to actually delete.
@joshimoo Since the Volume would be gone already and the Retain policy for a Persistent Volume is primarily relevant in determining what to do if the Volume still exists and the Persistent Volume Claim has been deleted, I think it makes more sense for any decision regarding retaining the Persistent Volume and Persistent Volume Claim to be made as part of the Volume deletion dialog in the longhorn-ui. That's currently blocked though since go-rancher doesn't take a request body input in it's Resource deletion calls.
@shuo-wu I didn't end up commenting on Deployments and Stateful Sets because in my original discussion with @joshimoo on this issue, we determined that we'd have to monitor all Deployments, Stateful Sets, and any other resources with possible Persistent Volume Claim references to find those that did have references to a Longhorn-backed Volume (which seemed less than ideal). Even if we did pick up on the existence of the Deployments and Stateful Sets, handling them as part of our cleanup of associated resources seems a step too far (though we could give the user a warning that these Deployments and Stateful Sets depend on our Volume.

OK. Then I think adding a warning message before the PV/PVC cleanup is enough. And it may be better to explicitly mention the reason for this warning in the doc.

LGTM. @shuo-wu ?


Config template for RabbitMQ generates duplicate variable

Running
om config-template --pivnet-product-slug p-rabbitmq --product-version '1.18.4'
generates a duplicate variable name (on-demand-broker_max_in_flight) for two different variables in resource-vars.yml and default-vars.yml The default values are different and will throw an error when trying to configure product.

Did this end up being a non-issue @jgeorge300 ?

I was trying to re-write/delete the issue. But it is still an issue. Re-opening.

Hi @jgeorge300! Thanks for reopening. Can you give some examples of what the files generate for you, and what causes the error? If you remove the duplicate value, does the rest of the configuration work fine for configuring the tile?

Running:
 om config-template --output-directory templates/ --pivnet-product-slug p-rabbitmq --product-version '1.18.4' --pivnet-api-token ${PIVNET} --file-glob '*.pivotal'
generates the following:
default-vars.yml:
on-demand-broker_global_service_instance_quota: 20 on-demand-broker_max_in_flight: 3 on_demand_broker_plan_1_cf_service_access: enable
resource-vars.yml:
on-demand-broker_instance_type: automatic on-demand-broker_instances: automatic on-demand-broker_max_in_flight: default on-demand-broker_persistent_disk_size: automatic
Notice the different values for on-demand-broker_instances. To get around this, I commented out the variable in defautl-vars.yml and replaced the first reference in product.yml to the default value.

Adding PR welcome label. config-template is still marked EXPERIMENTAL, and might not get worked on right away. However, feel free to explore the codebase, test, and submit a PR to help fix the issue if you want/need it sooner!
Thanks for the detailed steps and outputs!

when providing only required properties, the following output is observed:
om -k --target domain.com --username domain-username --password domain-password configure-product -c /tmp/rabbit/p-rabbitmq/1.18.4-build.83/product.yml -l /tmp/rabbit/p-rabbitmq/1.18.4-build.83/default-vars.yml -l /tmp/rabbit/p-rabbitmq/1.18.4-build.83/required-vars.yml -l /tmp/rabbit/p-rabbitmq/1.18.4-build.83/resource-vars.yml -l /tmp/rabbit/p-rabbitmq/1.18.4-build.83/errand-vars.yml
configuring p-rabbitmq...
setting up network
finished setting up network
setting properties
could not execute "configure-product": failed to configure product: request failed: unexpected response from /api/v0/staged/products/p-rabbitmq-a2065a050c7b6954ba4b/properties:
HTTP/1.1 500 Internal Server Error
Transfer-Encoding: chunked
Cache-Control: no-cache, no-store
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Date: Fri, 17 Apr 2020 17:32:06 GMT
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Pragma: no-cache
Referrer-Policy: strict-origin-when-cross-origin
Server: Ops Manager
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: dddab8ec-e0b0-4020-b685-b5eed6c4e49b
X-Runtime: 0.559372
X-Xss-Protection: 1; mode=block

95
{"errors":{".on-demand-broker.max_in_flight":["Value is not a number"],"base":["undefined method `map' for \"pks-az1\":String\nDid you mean?  tap"]}}

this will be included in om 4.7.0


browserify applies transforms to npm linked modules

Same bug as #1386, triggering for non-minimal use-cases:
If you npm link a module into your browserify project, it incorrectly has transforms applied to it, but only if a required module in the linked package requires another local module.
Opening new issue so it doesn't get lost as reopening closed issues require admin attention.
See #1437 for a failing testcase.

I encountered this issue when using browserify 12.0.1.

I am also having this issue

Fixed upstream with module-deps 4.0.5.

Fixed upstream with module-deps 4.0.5.

<3

<3


eagerly construct THIR bodies

MCP: https://github.com/rust-lang/compiler-team/issues/409

Initial implementation in https://github.com/rust-lang/rust/pull/82495


Variable sized input and target tensors

In some cases it's useful to have variable sized input and target tensors and batch sizes, e.g. RNNs. This was reasonably efficient before the Nov 16 overhaul but I'm now seeing extreme slowdowns after the overhaul. Any plans to introduce a flag to switch between the pre- and post-overhaul behaviors, or suggestions on how to improve performance? I assume that moving to fixed BPTT dimension and batch size would address the speed issue (to match the provided LM example), but maybe there's another way to improve performance without changing the data?

@noa , this package was actually designed specifically for this reason :-) – i.e. to handle variable input lengths and dynamic graphs at runtime. In this new version, what happens is that you pay an extra cost each time a new input config is seen, but then the resulting graph is cached, and re-used in the future.
We use this current version to train LSTMs on captions / text, where the text length varies form 5 words to 60 words, which results in ~ 50 cached tapes; once you've seen them all once, everything is cached, and speed is maximal.
Does your application require a much larger nb of input configurations (which might not even been seen multiple times)? If so then you might not be benefiting from the caching. Would appreciate more details on this use case. We're planning on optimizing the cache-free version as well, so that deactivating the cache entirely gives you decent performance, in the case where you have a huge nb of input configs.

Yep, I'm also working with text. It looks like for my data the caching penalty is being paid well into an epoch of training:
10 batches = 56s per batch (!!)
100 batches = 40s per batch
200 batches = 3s per batch
300 batches = 1s per batch
...
Pre-Nov 16 the timing was always well below 1s.
If an "input config" as far as caching is concerned applies to all dimensions of the input (e.g. both batch size and BPTT), then this might explain some of the big slowdown for me post-Nov 16 since most batches will have different dimensions.
The other part of the problem seems to be the time required to cache individual parts of the graph -- 1min seems excessive? It occurred to me that CUDA might be at fault here. All my inputs live on the device as CudaTensors, which might mean that autograd is allocating a bunch of device memory whenever it caches a graph? The other contributing factor might be the length of some of my inputs, sometimes in excess of 100.
Other environment details:

luajit
latest torch (trepl, cutorch, nn, ...)

@clementfarabet maybe there could be a disk cache that is preserved across sessions, for the case like @noa ?

@soumith interesting idea. @luketwitter : the disk cache idea is potentially interesting, to avoid warm up overheads.
But in this case, I'm afraid the nb of potential tapes might just be too high. @luketwitter maybe we just need to work on making the tape generation faster as well, to avoid this initial overhead, or maybe for a case like that the completely uncached mode is just the best.
@noa curious about one thing: are you modeling full text paragraphs? It's usually common to do truncated backprop in this case – see example here: https://github.com/twitter/torch-autograd/blob/master/examples/train-penn-lstm.lua#L93 where the LSTM state is passed through, but the bprop truncated. But not a general fix for sure.

@noa – @luketwitter just brought up something: are you using d(f)(...) in your inner loop? You now need to call df = d(f) once, and then call df(...) in your inner loop, to benefit from caching.

@noa curious about one thing: are you modeling full text paragraphs? It's usually common to do truncated backprop in this case – see example here: https://github.com/twitter/torch-autograd/blob/master/examples/train-penn-lstm.lua#L93 where the LSTM state is passed through, but the bprop truncated. But not a general fix for sure.

Long character/symbol sequences actually. Unfortunately, truncated BPTT is a little tricky in my case since I'm using a weird aggregate loss criterion. I can probably get it to work with some combination of truncated BPTT and padding with 0s, but this isn't very flexible.

@luketwitter just brought up something: are you using d(f)(...) in your inner loop? You now need to call df = d(f) once, and then call df(...) in your inner loop, to benefit from caching.

Nope, I switched to the new convention of calling df = d(f) once prior to actually using the function. I was hoping it might be this easy!

@noa Working on a fast un-compiled mode for you (previous behavior), shouldn't take too long. I would love to see your example though, to make sure you can't benefit from the compilation.

@luketwitter Awesome, thanks. I'll see about constructing a self-contained minimal example for you in the meantime.

One thing to try in the meantime:
df = d(f, { signatureFn = function() return nil end })
That'll disable compilation, but it won't be quite as fast as the previous version (since it still does extra work to make a full DAG of your function, etc. etc.).

Check out: https://github.com/noa/autograd_test
I tried it with the current revision and with PR #22, which seems a bit faster. Not sure if it's back to pre-Nov 16 speed yet, will need to do some more testing.

Thanks - super helpful. There's a dumb bottleneck when generating the code for the second iteration, as it tries to map the set of tensors it needs to the set the first iteration needed, to maximize reuse. Takes 60 seconds, with your 16000-long tape of instructions :)

Fixed - 60s -> 4-5s per step.
After ~100 steps, it actually starts getting some code cache hits, and the average time per step starts going down, so it's worth using the optimizer after all. Currently 1.2s per step at step 300.
For comparison, the direct/unoptimized version takes 3-4s per step.

@luketwitter Great, #23 seems to have done the trick. With CUDA I'm down to ~300ms per step past 100 batches or so, and I'm not seeing the big 50s+ delays in early steps either. Thanks!

Closing, fixed with #23


Provide ability to export by name for all resources

as a user,
I want to export resources by name to a template,
so I don't have to juggle UUIDs myself
Acceptance Criteria

[ ] ability to export via CLI by name and or id

$ influx export --label=UUID --label="Name of label" ...

[ ] support through the API by extending the POST /api/v2/packages with the following:

{
   ...existing,
   "resources": [
       {
            "kind": KIND,
            "resourceID": UUID,
            "resourceName": RES_NAME,
            "rename": NEW_NAME_IN_TEMPLATE
       }
    ]
}

resourceName will be the identifer to match by. If an ID and or Name is provided it will match on that. At least 1 of resourceID or resourceName will be required

If a resource has a duplicate name, both resources with that name should be exported.


Upgrade Node 12 to Node 16

What you want to add
Upgrade Node 12 to Node 16
Why this is needed
Node 12 has been out of support since April 2022
And all of the users receive a warning while running your action.

I think this action is forced to run in Node 16 now and it seems to still work. It would be good to update the action to Node 20 to get rids of all the warnings.

If anyone is looking for alternative I suggest to use code below
- uses: "actions/github-script@v7"
  name: "Add PR labels"
  with:
    script: |
      github.rest.issues.addLabels({
        owner: context.repo.owner,
        repo: context.repo.repo,
        issue_number: context.payload.pull_request.number,
        name: 'LABEL_NAME'
      });
  if: github.event_name == 'pull_request'


[BUG]

Describe the bug
Crash on start:
net.fabricmc.loader.impl.FormattedException: java.lang.NoSuchMethodError: 'net.minecraft.util.Identifier net.minecraft.util.registry.RegistryKey.method_29177()'
Expected behavior
Launch game without errors
Additional context
I think it has to do with the update from 1.18.1 to 1.18.2

latest.log

Tested outside of development environment and didn't crash


third party libs not identified when running via tox

Isort is doing a good job when running directly, but it fails to identify third party libs when running through tox.
These are the relevant bits of my tox.ini:
[testenv:lint]
skipsdist = true
skip_install = true
deps =
    flake8
    isort
commands =
    flake8 my_app tests examples
    isort -c --recursive my_app tests examples

And setup.cfg:
[isort]
include_trailing_comment = True
known_first_party = my_app
# known_third_party = a_dependency, another_dependency
line_length = 99
lines_between_types = 0
multi_line_output = 4
not_skip = __init__.py
use_parentheses = True

I have seen this behavior in the past, and I know that uncommenting the known_third_party line resolves the issue, but it only does if I add there ALL my third party imports, which might be a long list.
Is this really the expected behavior, or is there something which I can configure differently to make this problem go away?

Just ran into this problem again today. I even tried to specify the settings path like so:
[testenv:isort]
skip_install = True
deps =
    isort
commands =
    isort -sp {toxinidir} -c -rc --diff {toxinidir}/src/package {toxinidir}/tests

That didn't change anything, though. I have an isort section in my setup.cfg and I use version 4.3.4.

I'm having the inverse situation, I think:
$ rm -fr .tox
$ grep isort tox.ini
[testenv:isort]
deps = isort
    which isort
    isort --version
    isort --check-only --recursive project tests
$ tox -e isort
/home/julien/project/.tox/isort/bin/isort
[...]
                            VERSION 4.3.4
[...]
isort runtests: commands[2] | isort --check-only --recursive project tests
ERROR: /home/julien/project/project/project.py Imports are incorrectly sorted.
ERROR: /home/julien/project/project/views.py Imports are incorrectly sorted.
ERROR: /home/julien/project/tests/test_idp.py Imports are incorrectly sorted.
ERROR: /home/julien/project/tests/test_main.py Imports are incorrectly sorted.
ERROR: /home/julien/project/tests/test_views.py Imports are incorrectly sorted.
ERROR: InvocationError for command '/home/julien/project/.tox/isort/bin/isort --check-only --recursive project tests' (exited with code 1)

$ isort --check-only --recursive project tests
Skipped 2 files

The diff, while running /home/julien/project/.tox/isort/bin/isort --check-only --recursive project tests --diff is that isort is moving my modules up, in the third party group, so my modules are no longer detected as first-party while running in tox.

You may find seed-isort-config useful.  isort relies on dynamic analysis (essentially importing your code) to determine whether imports are first party or not.  The backing module for seed-isort-config does this statically.

I have the same issue which means I have to remove isort from my tox pipeline.

imo it is kind of a problem that isort needs to have the world installed just to sort some imports :man_shrugging: (imagine how much faster your tox env would be if you didn't have to install anything but isort)

Ok, maybe I have a different issue then. @csala I have deps = -rrequirements.txt and requirements.txt include isort. I don't use skip_install = true.
isort runs in tox, but reports an issue with import order yet the order is fine when running isort in my virtualenv. In setup.cfg I'm listing three known_first_party items and I believe they are not picked up.

I had the same problem than @JulienPalard, I used the --project option to define what my first party actually is.
  -p KNOWN_FIRST_PARTY, --project KNOWN_FIRST_PARTY
                        Force sortImports to recognize a module as being part
                        of the current python project.


Decompiler exception

I see the following message in the  "Decompiler window:
Exception while decompiling xxxxx: Decompiler results exceeded payload limit of 50 MBytes
is there an easy way to allow more payload ?
Rather than use an indexed table the coders decided to go for several hundred  statements similar to the following to print various messages...
  if (r4 == 0x2c) goto loc_xyz;
some of them are  nested, which is why I think the code breaks the de-compiler.
 if (r4 != 0x98) {             if (r4 != 0x93) {                     if (r4 != 0x94) {                             if (r4 != 0x95) {                                     if (r4 != 0x96) {                                             if (r4 != 0x97) {                                                     if (r4 != 0x9d) {                                                             if (r4 != 0x9e) {                                                                     if (r4 != 0xa4) {                                                                             if (r4 != 0xa8) {                                                                                if (r4 != 0xab) {                                                                                if (r4 != 0xac) {                                                                                if (r4 != 0xad) {
Etc...
"hopper dissasembler"  just about manages to break the code down, but  ghidra  breaks.

To increase the payload size:
Edit->Tool Options->Decompiler->Decompiler Max-Payload (from the Code Browser).

mark

Thanks guys..
300mb got it..........
The funny thing is that it's not a lot of code when its done. (3245 lines).
Clearly it's just badly nested (most of which seems to optimize out on the de-compile)

Looks like @ghidracadabra's tip resolved your issue...closing.

Thanks. It solved the problem for me


Patch xtremio storage driver package name

@akutz My fault, that was a bad PR.  This should have the relevant changes.

Hi @clintonskitson,
I'm holding off on merging this until PR #69 is approved so the build as a result of this merge will be uploaded to the unstable repo as well as included in an RPM and DEB. Other than that, no reason to not approve it.


Caching

From @staltz on July 29, 2015 9:39
It's not complicated to extend HTTP Driver to have cache. A request object can have an option for time-to-live, then when the driver receives the request object, it keeps the response and the respective request in a Map. When a new request comes in it is checked against that Map. Alternatively, the request object can have an option fresh which always ignores cache.
Copied from original issue: cyclejs/cycle-http-driver#10

From @teohhanhui on September 8, 2015 5:12
Shouldn't caching be the responsibility of the HTTP layer? (Though of course, this is not an ideal world...)

We can either put caching as a driver configuration on the factory, or a configuration on the request. Or both. I need to investigate.

From @teohhanhui on September 8, 2015 7:3
I was thinking of HTTP caching http://tools.ietf.org/html/rfc7234

Yes, if you have that, great.


Preserve relative path when switching from version 1.18 of the documentation to an older version

Fixes #22497

/assign @xiangpengzhao

/lgtm

/area web-development
I tested this by:

Navigating to a docs page in 1.18, https://deploy-preview-22536--kubernetes-io-master-staging.netlify.app/docs/concepts/overview/components/, then switching to all available versions of the page.

Expected result: it works
Actual result: it works

Navigating to a page I know doesn't exist before 1.18, https://kubernetes.io/docs/contribute/new-content/, then attempting to navigate to 1.17 and prior versions

Expected result: Honestly unsure, but I don't think it should work?
Actual result: It navigates to https://v1-17.docs.kubernetes.io/

Navigating to a top-level page in 1.18, https://kubernetes.io/community/, and then switching to other available versions of the page

Expected result: it works
Actual result: it works

Doing steps 1-3 in a translated version

Expected results: parallel to results in steps 1-3
Actual results:

4.1: https://v1-14.docs.kubernetes.io/ja/docs/concepts/overview/components/ returns a 404, presumably because it no translation in ja exists for this version. All other versions work.
4.2: https://v1-17.docs.kubernetes.io/ko/docs/contribute/new-content/ returns a 404 for the same reasons.
4.3: https://v1-15.docs.kubernetes.io/zh/community/ returns a 404, similar to above, other versions work.

Based on the results of #4 above, I compared this to the live site's existing behavior for old versions with untranslated content. Because the live site always redirects to the homepage from the version drop-down, this is a non-issue.

@brianpursley: Do you think there's any way we can handle the 404's found while testing and redirect them to the version's landing page? If the answer is "no" that's fine too, I think this is still a valuable contribution regardless. P.S., I think this would be a great contribution to upstream Docsy and you should totally do it!

Related/probably closes: https://github.com/kubernetes/website/issues/16740

@celestehorgan Thanks for pointing that out... I see what you are saying. This change will definitely bring this problem to light. Even though it is not a new problem, because it did not preserve the relative page, it would not occur.
Let me take a look at it and I'll take a look at Docsy too and see what can be done about it.

@brianpursley If it's not easily solvable, then I'd rather post this issue to #sig-docs-maintainers and let the group decide whether or not to accept this change with the caveats found during testing. tl;dr don't spend too many cycles on this.

@celestehorgan As you hinted at, it seems like this is going to be a little tricky.
The problem is that it is unknown if the relative path is going to 404 or not at the time when the version switch is made, only after it navigates can it be known whether that page exists or not (because each version is a different site altogether I believe).
I thought about one way it could work is the version switcher could add a querystring, something like ?version-switch=1 and then the 404.html could look for that querystring and redirect to the homepage, but that feels very hacky.  Maybe there is a cleaner way to do that, but I don't know offhand.
I notice that 404.html only seems to be in English. I wonder if we could approach this problem from another angle and accept the fact that sometimes a page won't exist when switching versions, but implement language-specific 404 pages so that it is a better experience when it occurs.
Also, strangely, when I run the site locally, I don't get the custom 404 page at all, so something else must be handling the 404s when it is deployed. I admit, I'm not too familiar with the inner workings of the documentation website.

How about JavaScript that sends a HEAD request for the target version's page and, if it's a 404, lops off the path to take you to the top of the site instead?
(that's fine by me to add later, BTW)

/lgtm

If we added some JavaScript to the 404 page that had access to Referer: header information, we could detect localization switches and customise the rendered content somehow (make a hidden
 visible?)

How about JavaScript that sends a HEAD request for the target version's page and, if it's a 404, lops off the path to take you to the top of the site instead?
(that's fine by me to add later, BTW)

I like this idea and I was going to try something like below, but CORS blocks it when testing locally, and I think would also block it in production because each version is on a different subdomain
{{ .version }}
...

I guess we could set CORS headers in netlify.toml to allow all origins (*) and allow the HEAD method. I haven't really worked with netlify before, but I think it would be something like this, and it would need to be applied to all versions of the site:
[[headers]]
  for = "/docs/*"
    [headers.values]
    Access-Control-Allow-Origin = "*"
    Access-Control-Allow-Methods = "HEAD"

Any thoughts on setting CORS? Would that be OK or too much trouble?

Allowing HEAD and in fact GET from everywhere seems fine to me. I'd like a second opinion before it gets a solid thumbs up, in case I'm missing something.

Maybe hugo has a way to reuse this

Yep! Partials or shortcodes. Probably a partial.

OK I just pushed a new version with a partial used in 404.html to redirect version switch 404s to the site root.

👀

I tested this by:

Navigating to a documentation page in the most recent version, i.e. https://deploy-preview-22536--kubernetes-io-master-staging.netlify.app/docs/concepts/overview/working-with-objects/kubernetes-objects/
Using the top menu version switcher to switch to an older version where I know the topic exists, i.e. 1.17

Expected/Actual results: The redirect works ✅

Navigating to a non-documentation page in the most recent version, i.e. https://deploy-preview-22536--kubernetes-io-master-staging.netlify.app/partners/
Using the top menu version switcher to switch to an older version where I know the page exists, i.e. 1.17

Expected/Actual results: The 404 redirect works ✅

Navigating to a documentation page in the most recent version, i.e. https://deploy-preview-22536--kubernetes-io-master-staging.netlify.app/docs/contribute/new-content/new-features/
Using the top menu version switcher to switch to an older version where I know the topic DOESN'T exist, i.e. 1.17

Expected/Actual results: The redirect sends you to a 404 ✅

Navigating to a non-documentation page in the most recent version, i.e. https://deploy-preview-22536--kubernetes-io-master-staging.netlify.app/training/
Using the top menu version switcher to switch to an older version where I know the page exists, i.e. 1.16

Expected/Actual results: The 404 redirect works ✅

Navigating to a known 404/bad url, i.e. https://deploy-preview-22536--kubernetes-io-master-staging.netlify.app/training_doesntexist/

Expected/Actual results: The page hits the 404, no regressions were introduced ✅

This PR behaves as expected and does not introduce any regressions. As such, it's approved, but with a hold because we're in repository freeze for the 1.19 release :)
/approve
/hold

/hold cancel


Move to safetensors to save autoencoders and activations

Currently saving and loading uses torch.save(), but this allows malicious code to be executed while loading. Huggingface developed a format called safetensors (https://huggingface.co/docs/safetensors/en/index) which cannot be used to load executable code, and is also much faster than torch.save/torch.load for loading tensors (supposedly 76x faster). I think it also allows reading the size of the stored tensors without loading the entire file, which would be a big win when initializing ActivationsStore.

Sounds great!

I've done this for autoencoders but not for activations.


Basic Go API using Zipkin

Hi, so I'm trying to implement a basic GO api using the go-opentracing, but there are like no examples that I have been able to find. Do you know of any good examples to base my API off of? I'm trying to use the scribe collector and its compiling fine, but none of my spans/traces are being sent to the Zipkin collector. I've included my code in case anybody might be able to debug any glaring mistakes. Appreciate any help!
c, err := zipkintracer.NewScribeCollector("dockerhost:9042",timeout,zipkintracer.ScribeBatchSize(1),zipkintracer.ScribeBatchInterval(batchInterval))
if err != nil {
log.Fatal(err)
}
span := zipkincore.NewSpan()
span.ID = int64(999)
span.TraceID = int64(999)
span.Name = "test"
annotate1 := zipkincore.NewAnnotation()
sr := zipkincore.NewEndpoint()
sr.Ipv4 = (127 << 24) | 1
sr.Port = 8181
annotate1.Host = sr
annotate1.Timestamp = time.Now().UnixNano() / 1e3
annotate1.Value = "test"

annotations := []*zipkincore.Annotation{
	annotate1,
}
binAnnotations := []*zipkincore.BinaryAnnotation{
	binAnnotate,
}
var dur = int64(100)
span.Duration = &dur
span.Annotations = annotations
span.BinaryAnnotations = binAnnotations

c.Collect(span)

This tracer is meant to be used with opentracing-go as the managing API. So for examples on usage check: https://github.com/opentracing/opentracing-go
The only thing you'd do in this package is create the Collector and then create the Tracer:
	collector, err := zipkin.NewKafkaCollector([]string{"<IP_ADDRESS>:9092","<IP_ADDRESS>:9092"})
	if err != nil {
		...
	}
	tracer, err = zipkin.NewTracer(
		zipkin.NewRecorder(collector, false, "<IP_ADDRESS>", "MyService"),
		zipkin.ClientServerSameSpan(true), // for Zipkin V1 RPC span style
	)
	if err != nil {
		...
	}
	// make sure we set our tracer as the default tracer
	opentracing.InitGlobalTracer(tracer)
	...
	... from here on use opentracing API calls...

For more info check this blog post:
https://medium.com/opentracing/distributed-tracing-in-10-minutes-51b378ee40f1

Thanks you!


AlertMenu "Alert source links" dropdown hidden by multi-grid when clicked

Looks like a small bug was introduced in v0.61 that makes it difficult to silence an alert if the AlertMenu "Alert source links" dropdown box hangs over a multi-grid group.  When the menu overlaps a multi-grid group, clicking on the menu makes it go behind the multi-grid, which hides the "Silence this alert" option from the user.
Example:
Initial view showing 2 muli-grid groupings (for severity:info & severity:warn)

Display AlertMenu "Alert source links" dropdown

Clicking on "Silence this alert" (or anywhere in the AlertMenu box) hides the dropdown behind the lower multi-grid group.

This works fine if the AlertMenu doesn't overlap a multi-grid group.
Thanks!!!

Should be fixed via #1756. Thanks!

Tested and confirmed, that fixed the issue!  Thank you!


How to configure atom-beautify package to format with babel/jsx javascript files?

I'm new to Atom. And I need help on configuration. I post on stackoverflow but without relevant answer, I seek for help here.
Thank you

Please follow the issue template provided. More specifically, adding a link to the required debug.md Gist which includes debugging information that answers our most commonly asked questions: https://github.com/Glavin001/atom-beautify/blob/master/ISSUE_TEMPLATE.md#how-to-create-debugmd-gist
Thank you.

Description
atom-beautify doesn't indent jsx code in javascirpt file
Expected Results
atom-beautify should indent jsx as expected when indenting html code. see language-babel that indent only jsx code ( not the jaascript around)
Steps to Reproduce

Copy code from this javascript file: it's common javascript + jsx code
Format the file:all html tag (that is jsx code) doesn't indent as expected

Thank you for any advices :)

Hey @damienleroux. Thanks for elaborating 😃 .
I still need the debug.md Gist:

More specifically, adding a link to the required debug.md Gist which includes debugging information that answers our most commonly asked questions: https://github.com/Glavin001/atom-beautify/blob/master/ISSUE_TEMPLATE.md#how-to-create-debugmd-gist
Thanks!

In Atom, I tried to install and use this plugin, but after installation, I got an underscore.js module error.  I clicked the button to create an issue, but nothing happened, so I couldn't create an issue that way.  I'm doing a tutorial online and this plugin was recommended, but when looking at description, it doesn't list JSX files specifically.  Will JSX support be added to this plugin?

@rr20eid10 JSX should be supported now by JS-Beautify and Pretty Diff beautifiers.


KAFKA-2980 Fix deadlock when ZookeeperConsumerConnector create messag…

fyi: may not link to the jira to to KAKFA typo

@granthenke Yeah.... Just noticed that. Thanks for the reminding.

LGTM. On a separate jira we may want to add systests for scenarios like this.

@becketqin I am a little confused that "thread blocks when trying to stop the fetchers", since the ConsumerFetcherThread is set to be interruptable, so shutting down should not be blocked?

@guozhangwang , the problem is that the fetchers are not guaranteed to be in blocked state when the shutdown() is called on them. It seems calling interrupt on a running thread does not have any effect but set the interrupted flag. So if the interrupt() call happen before they are blocked on enqueue(), the fetchers will still get blocked.

@becketqin Hmm, I think that if the interrupt status flag is set, then upon enqueue which calls BlockingQueue.put, it will throw InterruptedException directly since it calls ReentrantLock.lockInterruptibly, which will still throw InterruptedException according to Javadoc?

has its interrupted status set on entry to this method; or
is interrupted while acquiring the lock,
then InterruptedException is thrown and the current thread's interrupted status is cleared.```

@guozhangwang That is a good point. However the stack trace showed the Abstract fetcher thread was not interrupted, somehow. My best guess is that after the first round of rebalance finishes, before the fetcher threads actually started, the second round of rebalance was trying to call interrupt() on the threads and shutdown them. In that case, the interrupt() will have no effect because the fetcher threads haven't started yet.

Never mind about the above comments. That does not make sense. I did some test. It looks partitionMapCond.singalAll() will clear the signal flag. When the fetcher thread just started, likely it will parking on partitionMapCond because leader information is not available yet. That means if the following lines of code are executed after the fetcher thread is interrupted but before the fetcher thread get scheduled to run. Its interrupt flag may be cleared.
initiateShutdown()
inLock(partitionMapLock) {
partitionMapCond.signalAll()
}

@becketqin I did some test and it seems Condition.signalAll() will not clear the flag, however Condition.await() can potentially throw the exception and clear the flag, my test code:
Thread.currentThread().interrupt();

        assertTrue(Thread.currentThread().isInterrupted());

        try {
            Thread.sleep(1);
            fail("will never get here");
        } catch (InterruptedException e) {
            assertFalse(Thread.currentThread().isInterrupted());
            Thread.currentThread().interrupt();
        }

        assertTrue(Thread.currentThread().isInterrupted());

        ReentrantLock lock = new ReentrantLock();
        Condition cond = lock.newCondition();

        lock.lock();

        cond.signalAll();

        assertTrue(Thread.currentThread().isInterrupted());

        try {
            cond.await();
        } catch (InterruptedException e) {
            // do nothing
        }

        lock.unlock();

        assertFalse(Thread.currentThread().isInterrupted());

Hi Guozhang, my test was a little bit different. And I saw interesting behavior.
The following code prints true then false.
public static void main(String[] args) {
        final ReentrantLock lock = new ReentrantLock();
        final Condition cond = lock.newCondition();
        Thread t = new Thread() {
            @Override
            public void run() {
                lock.lock();
                // When interrupt() is called, the thread will not wake up, but its interrupt flag will be set.
                cond.awaitUninterruptibly();
                lock.unlock();
            }
        };
        t.start();
        t.interrupt();
        // We interrupt the thread here, the thread does not wake up but the interrupted flag should be set.
        System.out.println(t.isInterrupted()); // This line prints true
        // wake up the thread after interrupt the thread.
        lock.lock();
        cond.signalAll();
        // Check if the signal all clears the interrupt flag.
        System.out.println(t.isInterrupted()); // this line prints false
    }

The above code means cond.signalAll() clears the interrupt flag. Notice we did not release the lock in the main thread.
If we release the lock in main thread the result becomes interesting. The following code prints (true, false, false), (true, true, false), (true, true, true) randomly.
    public static void main(String[] args) throws InterruptedException {
        final ReentrantLock lock = new ReentrantLock();
        final Condition cond = lock.newCondition();
        Thread t = new Thread() {
            @Override
            public void run() {
                lock.lock();
                // When interrupt() is called, the thread will not wake up, but its interrupt flag will be set.
                cond.awaitUninterruptibly();
                lock.unlock();
            }
        };
        t.start();
        t.interrupt();
        // We interrupt the thread here, the thread does not wake up but the interrupted flag should be set.
        System.out.println(t.isInterrupted());
        // wake up the thread after interrupt the thread.
        lock.lock();
        cond.signalAll();
        // Check if the signal all clears the interrupt flag.
        System.out.println(t.isInterrupted());
        lock.unlock();
        System.out.println(t.isInterrupted());
    }

This is quite strange because the later lock.unlock() changes the result on the previous line of printing.
If we add a Thread.sleep() in the main thread after lock.unlock. The following code gives either (true, true, false) or (true, false, false).
    public static void main(String[] args) throws InterruptedException {
        final ReentrantLock lock = new ReentrantLock();
        final Condition cond = lock.newCondition();
        Thread t = new Thread() {
            @Override
            public void run() {
                lock.lock();
                // When interrupt() is called, the thread will not wake up, but its interrupt flag will be set.
                cond.awaitUninterruptibly();
                lock.unlock();
            }
        };
        t.start();
        t.interrupt();
        // We interrupt the thread here, the thread does not wake up but the interrupted flag should be set.
        System.out.println(t.isInterrupted());
        // wake up the thread after interrupt the thread.
        lock.lock();
        cond.signalAll();
        // Check if the signal all clears the interrupt flag.
        System.out.println(t.isInterrupted());
        lock.unlock();
        Thread.sleep(1);
        System.out.println(t.isInterrupted());
    }

So it looks to me that the behavior of calling signalAll() after calling interrupt() is not deterministic. But signalAll() does eventually clear the interrupt flag.

@becketqin I tried your code locally, and actually the first program can return {true, true} or {false, false} or {true, false} as well. After digging into Condition I think this is not because of some random behavior of signalAll() but awaitUninterruptibly():
public final void awaitUninterruptibly() {
            Node node = addConditionWaiter();
            int savedState = fullyRelease(node);
            boolean interrupted = false;
            while (!isOnSyncQueue(node)) {
                LockSupport.park(this);
                if (Thread.interrupted())
                    interrupted = true;
            }
            if (acquireQueued(node, savedState) || interrupted)
                selfInterrupt();
        }

Note that it triggers Thread.interrupted() every time it returns from parking the thread (which may be returning at any point of time), and only re-set the flag through selfInterrupt() at the end of the call.
So if the call ordering is
t.interrupt();                            // main thread
System.out.println(t.isInterrupted());    // main thread
Thread.interrupted();              // t thread
System.out.println(t.isInterrupted());    // main thread
selfInterrupt();     // t thread

output is {true, false}, and if call ordering is
t.interrupt();                            // main thread
Thread.interrupted();              // t thread
System.out.println(t.isInterrupted());    // main thread
System.out.println(t.isInterrupted());    // main thread
selfInterrupt();     // t thread

output is {false, false}, and if call ordering is
t.interrupt();                            // main thread
Thread.interrupted();              // t thread
selfInterrupt();     // t thread
System.out.println(t.isInterrupted());    // main thread
System.out.println(t.isInterrupted());    // main thread

output is {true, true}. Unfortunately I did not find any better way to validate this, but I did find other functions like "Lock.lock() / unlock(), Condition.signallAll()" never modifies the corresponding thread's flag.

So back to the original problem, it's still mysterious to me why BlockingQueue.put does not throw InterruptedException if the flag was not reset.

@guozhangwang Thanks for digging into this. I am on vacation in China now so the response might be delayed. I thought about this again. It seems my previous guess about interrupting a non alive thread is not nonsense.
The FetcherThread are actually created by LeaderFinderThread asynchronously after the rebalance finishes. We have the following code:
fetcherThreadMap.get(brokerAndFetcherId) match {
          case Some(f) => fetcherThread = f
          case None =>
            fetcherThread = createFetcherThread(brokerAndFetcherId.fetcherId, brokerAndFetcherId.broker)
            fetcherThreadMap.put(brokerAndFetcherId, fetcherThread)
            fetcherThread.start
        }

So the thread is first put into the map then starts. If thread.interrupt() is called after the thread is put into the map but before the thread starts, the interrupt will be missed. Maybe it is better to fix the issue here.

@becketqin Hmm, but both addFetcherForPartitions and closeAllFetchers are synchronized by the mapLock so that should not happen right?
BTW Have a good time in China!

@becketqin Is this still valid and would you like to continue working on it? If yes I'd love to review and resolve it.

@guozhangwang It seems we did not see this issue after its first occurrence. I'll just close this PR.


Overlap CSS bug

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/964
Originally created by @bencodezen on 2019-09-10 13:08:09

CSS overlap bug on scroll

Hat tip to Zeger-Jan for finding this!

View 12 previous comments from the original issue on GitLab


Fixed Gear Environment variable setting in php-fpm.conf.erb

OPENSHIFT_GEAR_DNS environment variable setting was literal. Added missing $

Nice spot thank you for the fix!


Improve the footer UI

I would like to improve the footer UI. Please assign it  to me under GSSOC'23

you can assign this task to me

Hey @akshitagupta15june
I would like to improve footer's Ui as it is not eye pleasing.
I would like to change it to make it more attractive.
So, please assign this issue to me under GSSOC'23.

I have proper knowledge of creating an appealing and responsive UI. I would like to work on this issue.

its currently not needed for website


Channel Page: enable filters; add "sort by" filter

https://kp.odysee.com/@Odysee:8?order=new&sort=old
Issue
Closes #7059 Add option to sort oldest first on channel page
Changes

Enabled filters in Channel Page for Odysee.

Since we are filtering now, I thought we might as well re-enable this.  Let me know if we are not ready for this.

Added a new "Sort By" filter, which will only appear for "New" ordering. It didn't make sense for "Trending" or "Top".

Yes, been wanting to bring to bring this filter back! We can definitely add some of the other options like language, maybe tags, etc.


Error Creating Tables - Is Databricks Unity Catalog?

I'm trying to turn the SqlAlchemy example from this repo on a new instance of Databricks.
I'm getting the following error:

databricks.sql.exc.ServerOperationError: [UC_COMMAND_NOT_SUPPORTED] Create sample tables/views is not supported in Unity Catalog.

For context, we're not currently using the Unity Catalog. Is that required to use the latest version of the Databricks SQL Connector?

While not an explicit restriction, we only test the dialect on warehouses / clusters with unity catalog enabled. Can you share which line of the example script raises this exception?

the error message is indicating that the specific command "Create sample tables/views" is not supported in Unity Catalog, which is a component of Databricks.
It's possible that the latest version of the Databricks SQL Connector requires the use of Unity Catalog, or at least certain functionality within it. You may want to check the documentation for the Databricks SQL Connector to see if this is the case.
If you're not currently using Unity Catalog, you may need to set it up in order to use the latest version of the connector, or you may need to use an older version of the connector that doesn't require Unity Catalog.
Alternatively, you could try modifying the example code to avoid using the unsupported command, if that's feasible for your use case.

Sorry for the delay,  I re-ran that sample again and interestingly get a different error.  Here's the full error and stack trace

base = declarative_base(bind=engine)
Traceback (most recent call last):
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
self.dialect.do_execute(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/client.py", line 472, in execute
execute_response = self.thrift_backend.execute_command(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 833, in execute_command
return self._handle_execute_response(resp, cursor)
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 925, in _handle_execute_response
final_operation_state = self._wait_until_command_done(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 767, in _wait_until_command_done
self._check_command_not_in_error_or_closed_state(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 484, in _check_command_not_in_error_or_closed_state
raise ServerOperationError(
databricks.sql.exc.ServerOperationError: Table constraints are only supported in Unity Catalog.

AH I see why,  The first error was run on the following
Catalog: samples
Schema: default
The most recent error was run on:
Catalog: hive_metastore
Schema: default

Here's the trace for the initial error message

base = declarative_base(bind=engine)
Traceback (most recent call last):
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
self.dialect.do_execute(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/client.py", line 472, in execute
execute_response = self.thrift_backend.execute_command(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 833, in execute_command
return self._handle_execute_response(resp, cursor)
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 925, in _handle_execute_response
final_operation_state = self._wait_until_command_done(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 767, in _wait_until_command_done
self._check_command_not_in_error_or_closed_state(
File "/Users/rbales/Library/Caches/pypoetry/virtualenvs/active-ai-api-NyKgQ79e-py3.8/lib/python3.8/site-packages/databricks/sql/thrift_backend.py", line 484, in _check_command_not_in_error_or_closed_state
raise ServerOperationError(
databricks.sql.exc.ServerOperationError: [UC_COMMAND_NOT_SUPPORTED] Create sample tables/views is not supported in Unity Catalog.

Okay I don't see a bug here. There are two issues at play.

You can't create tables and views on the samples catalog. This catalog is there for demonstration purposes (read about it in the Databricks docs here) and is effectively read-only.

The error with hive_metastore is because that catalog is special -- it maintains backward compatibility with catalogs created before Unity Catalog was available. So although the hive_metastore catalog is included in the Unity Catalog, it doesn't have any UC features enabled. It's there purely for backward compatibility.

To move through this you need to just create a new catalog in your UC and point SQLAlchemy at it. Many organisations simply call this catalog main.

No UC is not required to use databricks-sql-connector.
The implicit restriction I mentioned above only applies to the SQLAlchemy dialect.

That error comes directly from the cluster (i.e. it's not an issue with the python connector). Have you confirmed that UC is enabled for this cluster?

It's not, no UC is enabled.

Hi @ryanbales! Were you able to enable UC for your cluster and check if your issue reproduces there?

@ryanbales I'm closing this issue as stale, but if you have more questions - feel free to reopen it, or open a new one


Action addRoute tries to serialize function

I'm using the new gateway action addRoute and it seems to try to serialize a function, which is not a problem with JSON serializer, but with CBOR for example crashes the entire node.

I think the issue is here: https://github.com/moleculerjs/moleculer-web/blob/master/src/index.js#L1177 where the entire route is returned with functions included...

Hi @giovanni-bertoncelli can you please create a repro repo?

We can't fix it. Related open issue in cbor repo: https://github.com/kriszyp/cbor-x/issues/2

We have software in production that has migrated to the CBOR serializer... this bug can be very frustrating, can't this be fixed on the moleculer side or with a PR on cbor-x?

Alternative, if you copy the CBOR serializer code and walk the payload in serialize method and remove functions. It beats the performance pretty well, this is why I don't do that in the built-in serializer. The eventual solution if it's fixed in CBOR lib.


Updating the application-mtls branch

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.10 out of 12 committers have signed the CLA.:white_check_mark: slahirucd7:white_check_mark: Sarangan0219:white_check_mark: chanaka3d:white_check_mark: HeshanSudarshana:white_check_mark: Krishanx92:white_check_mark: msm1992:white_check_mark: chashikajw:white_check_mark: chamilaadhi:white_check_mark: ashera96:white_check_mark: tharikaGitHub:x: krish:x: wso2-jenkins-botkrish seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.