UI for the 'Volume control' of the room notifs

We need a design to handle the four notificiation levels for a room like in the web client
(see https://zpl.io/Z1pps5z).

dup #472


Game hangs with white screen when running game on secondary display

Godot version:
3.1.2.stable
OS/device including version:
Windown 10 Pro 10.0.177643 Build 17763
OpenGL ES 3.0 Renderer: GeForce GTX 1080 with Max-Q Design/PCIe/SSE2
Issue description:
Game Run hangs with a white screen when running on a secondary screen "Monitor 2". Killing the screen. results in:
** Debug Process Started **
drivers/unix/net_socket_posix.cpp:190 - Socket error: 10054
** Debug Process Stopped
Runs fine on primary display.
Steps to reproduce:

Set Editors Settings-General->Run->Window Placement->Screen to Monitor 2
Run any project.
Observe hang with white screen and error when window is killed.

If you set step 1. to Monitor 1 the game runs as expected.
100% on my machine.
Minimal reproduction project:
You can use any project.

Note that "Socket error: 10054" just means the game process crashed and resulted in the editor losing the debugger connection to the game.

Sorry, no it does not happen the other way around on my machine. Thanks!

I also have this behavior with Godot_v3.2.1-stable_win64.exe running on Windows 8.1.
I downloaded this over 3.2 because I had this issue with just trying to follow along with the simple "Hello World" in the docs - I had the documentation open on my primary monitor and the editor in the secondary editor and running the scene resulted in a white application popup.
So, I immediately downloaded the update and tried again - but the update defaulted to launch with my main monitor, and it launched the scene just fine.  But then I moved it back to my secondary monitor, and attempted to launch the scene, and received the same white box ("non-responsive program").  This was surprising to someone who's new with Godot to just have "Hello World" not work ;)  Thankfully, I can default the running to my main monitor for now, so I'll do just that.

Duplicate of https://github.com/godotengine/godot/issues/13208 (same cause).


Add Icons To Navbar

Describe the feature
Hello Project Admin
I would like to add icons to Navbar
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Not required @sailaja-adapa


⚠ DesiTorrents has degraded performance

In 51da3f4, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 4509 ms

Resolved: DesiTorrents performance has improved in 013224e.


Prepare for upcoming API 1.44 - moby V25

Moby 25 is in beta - should release in the next moth or so: https://github.com/moby/moby/releases/tag/v25.0.0-beta.3

API v1.44 (Moby v25) and API v1.45 (Moby v26)

It's alive with some API changes: https://docs.docker.com/engine/release-notes/25.0/

Released in 1.0.3


Feature/improve examples

Add a manifest system in order to only manipulate subspace instead of external data.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
14 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.2%) to 75.886%

Files with Coverage Reduction
New Missed Lines
%

foundationdb/src/directory/mod.rs
1
94.85%

foundationdb/src/directory/directory_layer.rs
3
93.51%

foundationdb/src/directory/directory_subspace.rs
4
91.78%

foundationdb/src/directory/directory_partition.rs
6
84.33%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
4113

Relevant Lines:
5420

💛  - Coveralls


Keb add kyma version

Description
The runtime_state entity contains a field in the DB "kyma_version" which was updated by manual SQL script. The logic in the code executes a query, which filters by that field. But after that, it reads the kyma version from other field. In that case, the runtimestate contains the kyma_version (so the row was returned), but it was only gardener cluster update  - no kyma version in the data.

/retest

/retest


polygon flicker in different operating system

hi there,
I added polygon on map but flickering appears in this polygon. (macOS operating system)
Everything works correctly in windows operating system.
How can solve this?

I think this issue is not due to Resium.


Could you please, please provide an example that works with Angular?

Describe the bug
Doesn't seem to work with Angular 10
I followed all steps in the README.md
To Reproduce
Steps to reproduce the behavior:

Created the renderer.js file, put it in assets/js within my src folder
Called it from index.html,
added code:

const customTitlebar = require('custom-electron-titlebar');

new customTitlebar.Titlebar({
	backgroundColor: customTitlebar.Color.fromHex('#273c75')
});

to renderer.js

Added:

    mainWindow = new BrowserWindow(
        {
            title           : 'CSG',
            width           : 1250,
            height          : 900,
            minWidth        : 1250,
            minHeight       : 900,
            titleBarStyle   : "hidden",
            frame           : false,
            icon            : (`${__dirname}\\dist\\client\\assets\\images\\favicon-32x32.png`.replace(/\\/g, '/')),
            darkTheme       : true,
            webPreferences  : {
                nodeIntegration   : true,
                enableRemoteModule: true
            }
        }
    );

to main.js
Expected behavior
It should show the title bar and menus defined in Electron, but
if you compile with Electron, it doesn't work, it takes away the window border and menus, but no replacements are added.
Any ideas please????

OS: Windows 10
Electron version 10.x
Node Version 10.x

+1, no way to let it work in angular 8 + electron + electron-builder ...


build: disable pr reviews for pr-lint action

SUMMARY

the github action we're using to lint PR titles has a feature that adds PR reviews (as comments). Due to github permissions, this only works for PRs created from this repo (and not forks). We should disabled this feature as it provides an inconsistent experience and introduces some flakiness in the run (see https://github.com/apache/incubator-superset/pull/11371/checks?check_run_id=1310147435).
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

N/A
TEST PLAN

CI

ADDITIONAL INFORMATION

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

Codecov Report

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

@@             Coverage Diff             @@
##           master   #11433       +/-   ##
===========================================
- Coverage   66.55%   56.28%   -10.28%
===========================================
  Files         860      408      -452
  Lines       40866    13656    -27210
  Branches     3694     3480      -214
===========================================
- Hits        27198     7686    -19512
+ Misses      13570     5800     -7770
- Partials       98      170       +72

Flag
Coverage Δ

#cypress
56.28% <ø> (-0.29%)
:arrow_down:

#javascript
?

#python
?

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

Impacted Files
Coverage Δ

...uperset-frontend/src/dashboard/util/dnd-reorder.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...rset-frontend/src/dashboard/util/getEmptyLayout.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...et-frontend/src/components/Menu/LanguagePicker.tsx
0.00% <0.00%> (-100.00%)
:arrow_down:

...dashboard/components/resizable/ResizableHandle.jsx
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/dashboard/util/getFilterScopeFromNodesTree.js
0.00% <0.00%> (-93.48%)
:arrow_down:

...uperset-frontend/src/utils/getClientErrorObject.ts
0.00% <0.00%> (-89.19%)
:arrow_down:

.../src/dashboard/components/FilterIndicatorGroup.jsx
11.76% <0.00%> (-88.24%)
:arrow_down:

...c/explore/components/controls/withVerification.jsx
9.09% <0.00%> (-87.88%)
:arrow_down:

...src/dashboard/components/gridComponents/Header.jsx
10.52% <0.00%> (-86.85%)
:arrow_down:

...rset-frontend/src/profile/components/Favorites.tsx
0.00% <0.00%> (-86.67%)
:arrow_down:

... and 685 more

Continue to review full report at Codecov.

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


python312Packages.adafruit-platformdetect: 3.69.0 -> 3.70.1

Changelog: https://github.com/adafruit/Adafruit_Python_PlatformDetect/releases/tag/3.70.1
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 320625 run on x86_64-linux 1

4 packages built:

python311Packages.adafruit-platformdetect
python311Packages.adafruit-platformdetect.dist
python312Packages.adafruit-platformdetect
python312Packages.adafruit-platformdetect.dist


"Suggest" triggers in non-focused group, causing focus to shift away from current group

VSCode Version: Version 1.26.1 (1.26.1)
OS Version: 10.13.5 (17F77)

Steps to Reproduce:
This is a continuation of #47858, another issue of mine from April. I was unable to figure out how to reproduce it, until now.
The following steps are also illustrated in a GIF below.

Have two tab groups of the same file.
Create a JS file with these contents:

function join(value1, value2) {
  return value1 + value2
}

join(value1, value2)

In the first group, delete the value2 until it's va, so that the tooltip appears.
Switch to the second group. The tooltip will then close, as expected.
In the second group, modify the function params, such as by deleting some text.
The tooltip suddenly appears in group 1, taking focus away from group 2. If you were to be typing something at the time, then once focus is switched to group 1, the subsequent text you type will be entered there instead.

Maybe don't allow non-focused groups to show Suggest/IntelliSense tooltips? Or don't allow them to take away focus.

Does this issue occur when all extensions are disabled?: Yes

This looks similar to #54545
Can you try our Insiders and see if you see the same there?

Yes seems fixed in Insiders, after copying the steps I mentioned above. I notice the change was made on August 6, yet 1.26 was released on August 14. Why did the change not make it into that release? I assume it will be in the next one?

Code freeze for 1.26 was July 30 and so this fix didn't make it to the 1.26 release
Yes, it will be available in the next update

Thanks @garyking


Breakpoints can't be set in an ES module

JsDiagSetBreakpoint() when called on a ES module returns JsErrorDiagUnableToPerformAction and the breakpoint is not honored.  Debugging ES modules seems to work otherwise, but I can't set breakpoints in them 😭

@fatcerberus can you provide a repro? It seems to be working in ch implemented debugger.
@boingoing FYI and to take a look once we have a repro.

I'll try to reproduce it in isolation.  My module harness is pretty complicated because I support Babel-style interop with CJS so maybe something is going wrong on my end but I don't think so.  I can successfully set breakpoints in global code and require'd scripts but not in ES modules.

False alarm, I was tracking script IDs improperly.  Chakra doesn't correctly track filenames for ES modules (see #3618) so I had to do it myself, and it seems I forgot to increment the script ID counter for the root module.


Question: Is there a way/tool to generate changelogs for charts?

I just have a general question. Is there a way to generate a changelog from one version of charts to the other?

Hi @missylbytes!
I have not heard of such a tool, and there doesn't look to be one under the Related Projects and Documentation section. helm-diff is about as close as it gets to a changelog tool.
Let us know if you find any!

Thanks! Will look into it.
I know there is the idea of using something like commitizen, but I have found issues with trying to make changelogs per-helm-chart in repositories with multiple charts.

Just in case it helps :)
https://twitter.com/cncfartifacthub/status/1321424066943877121


More thread-safe GC

A draft of an alternative to #520 to ensure Python GC only runs on thread 1.
This version avoids using tasks. Instead, when a Python object is finalized:

If GC is enabled and the GIL is currently held, decref the object immediately.
Otherwise add it to the queue.

I also added PythonCall.GC.gc() to explicitly clear the queue (if possible).
Furthermore I added an immortal object GCHook() which calls PythonCall.GC.gc() whenever it is finalized, then adds its own finalizer back on. This means the queue can be cleared periodically when Julia GC runs, because it keeps trying to finalize GCHook().
I used PyGILState_Check() == 1 to check that the GIL is currently held. This should make it safe to interact with Python from any thread in the future, provided you use the C API PyGILState_* and PyThreadState_* functions correctly.
Very much a draft. Need to use Channels etc (like #520) to make this totally thread-safe.

BTW, could be worth trying this benchmark: https://github.com/JuliaPy/PythonCall.jl/compare/main...ericphanson:PythonCall.jl:eph/timing

@ericphanson @lassepe @MilesCranmer I think this is the version I'm going to merge.
I'd be grateful if you could give it a try to check it solves any issues, and also review the code.
Some timings on my machine:

pyint(123456789) (quite a fast operation) takes 45ns on the main branch versus 54ns on this branch if the GIL is held.
That slow-down is expected, because the main difference is the addition of a C.PyGILState_Check() call, which is 11ns.
If the GIL is not held when the finalizer is called then the finalizer takes an extra 20ns, half being from locking/unlocking the spin lock, the other half being pushing/popping the queue. On main you get a slowdown of 10ns if GC is disabled (from pushing/popping), so this PR adds 10ns (locking/unlocking) in this situation.
Using channels instead of vectors and locks adds about 80ns to the no-GIL branch. So I don't use channels.
The fastest you can possibly create and free this int (C.Py_DecRef(C.PyLong_FromLongLong(123456789))) takes 19ns.
In short, we were 2.25x slower than optimal before and now we are 2.75x slower. Or another way, we could make 22.2M ints per second before, now we can make 18.5M. This seems acceptable to me for the improvement.

I just need to copy over the extra tests from #520.

PySR test suite is passing :+1:

Cool, this also fixes https://github.com/avik-pal/Wandb.jl/issues/27!

I think the docs also need to be updated with the warning about multithreading (and suggestion that GC be turned off).
Also, how does this interact with the signal handling, does the warning in the docs still apply?

Thanks I have updated the docs.
The signal handling warning still applies. #520 enabled it by default when multi-threading is enabled but I'm not changing it in this PR. Happy to discuss it though.

I have copied the tests across from #520 and they're passing so I think this is ready to merge.
Will give you all a chance to comment.

BTW this PR makes it possible to write code that calls into Python from multiple threads (or Python code calling into Julia from multiple threads), provided you handle the GIL correctly. I'm planning to add an API for safely acquiring and pausing the GIL after this PR.

Regarding Base.depwarn, it looks like it was just officially documented and declared part of the public API: https://github.com/JuliaLang/julia/blame/19165bec4a3e2ed0de4f2f43bccc3fcac2d76662/base/deprecated.jl#L230-L249

I think apart from putting the lock behind a try-finally, it's otherwise looking good.
My one other comment is more of a question (for both you and @ericphanson) – why Threads.SpinLock() and not ReentrantLock()?

I think it is because we can't yield to other tasks in finalizers so we have to busywait:

f must not cause a task switch, which excludes most I/O operations such as println. Using the @async macro (to defer context switching to outside of the finalizer) or ccall to directly invoke IO functions in C may be helpful for debugging purposes.

from https://docs.julialang.org/en/v1/base/base/#Base.finalizer

I think I'm misreading, because a reentrant lock wouldn't allow that, right? Reentrant locks are about letting the same task acquire the lock multiple times?

I edited in a response a bit late sorry. ReentrantLock vs SpinLock is not only about reentry but also implementation, since task-switching is an implementation detail. ReentrantLocks do it and SpinLocks don't.
See: ReentrantLock waiting
SpinLock implementation

Maybe if we use the same pattern from https://github.com/JuliaPy/PyCall.jl/pull/1074 we can get a speedup? If we have a lock(::SpinLock), the GC threads are forced to wait for each other. But if we do the equivalent of the following code from PyCall (never implemented; just a PR)
function _pydecref_locked(po::PyObject)
    # If available, we lock and decref
    !islocked(PYDECREF_LOCK) &&
        trylock(() -> pydecref_(po), PYDECREF_LOCK) &&
        return nothing

    # Otherwise, add back to queue to be decref'd later
    finalizer(_pydecref_locked, po)
    return nothing
end

then the threads never need to have a busy wait on the lock to be released, they just add it back to the queue and get on with some other work.

That is https://github.com/JuliaPy/PythonCall.jl/pull/534, right? maybe that strategy should be discussed in that PR

Oh yeah good point:

To me some kind of queue makes the most sense. However probably anything is better than the segfaults of the status quo.

I agree, I think we can just worry about further optimizations later.

I think we need SpinLock since we are in a finalizer! We aren’t allowed to yield like ReentrantLock does

Regarding the isempty needing to be locked,
iterate(items) === nothing

This is how Base checks for an array being empty. I think what can happen is: thread A can (1) call the iterate, (2) get the pointer to the first array element, and then (3) a separate thread B removes that element from the array, making that pointer point to invalid memory, (4) thread A accesses the first array element anyways.
In other words, use of isempty could cause undefined behavior if another thread is writing to the collection (and maybe a segfault).

Regarding the isempty needing to be locked,

I commented elsewhere that you're looking at the wrong method of isempty. The method for arrays is
isempty(a::AbstractArray) = (length(a) == 0)

which I believe is safe. It might give wrong answers occasionally in the presence of a race condition, but it's safe.

Oh yeah, you are totally right, sorry.

Ok, no other comments from me. I think it's ready to go :+1:

Thanks for your help reviewing!

No problem :+1:
(By the way, could we get a release so we can fix the Wandb.jl issue?)

Yeah I'll make a release once #535 is merged (going to sleep on it and bikeshed the new function names).

Sounds good.
In case #535 seems like it will take some more discussion to settle on an API I wonder if we could have a patch release just so we can get the bug fixes through?

@cjdoris could we have a release before #535? I need the thread safety for something PySR-related and it's slightly urgent (am teaching a summer school this week and want to have them using Wandb.jl)

It's released

Thanks!


Speed up traversal and queries

In order to speed up traversal and queries, we'd need to operate at lower level. To reach this result the first step could be providing these new API in Binary Protocol class:

long[] in(String... classes)
long[] out(String... classes)
long[] both(String... classes)
Object field(String iFieldName)
byte[] rawField(String iFieldName)

The idea behind in(), out() and both() is to return a long[] of size entries * 2. In this way the following array of RID:
[#10:2, #10:343, #232:34343]

Would become:
[10,2,10,343,232,34343]

So in RAM this is just 1 objects instead of 1+items. While traversing thousands/millions of nodes, the GC will thank us. We could build a new class like OBinaryIdentifiableIterable that holds such big long[] object and allows to iterate on it.
Object field() returns a field value, but more interesting is byte[] rawField() that returns the portion of byte[] that contains the field. Thanks to this method we could support binary comparator at SQL Operator level with a method like:
boolean compare( byte[] first, byte[] second )

For example the operator "equals" (=) could compare byte per byte two values without create the Java object. We could support also the type, so rawField() could return a new Object of type
OBinaryValue { OType type, byte[] value } so that we could also convert values inside the operators in compare().
This new low level methods could be used by new Pattern Matching executor to speed up the most common use cases.

Yes for speed up traversal we could provide some additional api, i would say that we don't need to remove completely the concept of iterator in favor of array, and it could actually create more slowdown due to the need of a full preallocation ( in big dataset).
i would define a different low level api for the 'query engine use' that should look like:

Iterator<ORecordID> in(int... clusters)
Iterator<ORecordID> out(int... clusters)
Iterator<ORecordID> both(int... clusters)

with this api i can easily create an iterator on any kind of structure we have in the bottom (LINKLIST,LINKSET,RIDBAG embedded,RIDBAG tree, even only RID) and do lazy deserialization on that, and probably i can even implement it with a bidirectional (next/prev) behaviour.
to notice the id of the cluster instead of the class to avoid schema lookup and to filter record at priori without need to load them.
for a low level compare api i was think to something like
int compare(byte [] record, string [] path, OValue value)
for OValue i mean a structure alive for all the query run that can keep the value with all the possible/used serialized conversion, so the conversion can be done only once in the whole query.
can be defined even a kind of join compare api :
int compare(byte [] record, string [] path, byte [] record1, string [] path1)
i prefer not expose portion of serialized byte[], just as general design.
this api could even be exposed in  case of remote but i feel is an overkill today, most of the case fetch the whole record in remote is not to huge overhead, and in case of huge collections we already use OSBTreeBonsai that has a paginated fetching.

My comments:

in/out/both must have also strings, because with that names we compute the field names that handle the collection of RIDs
What's string[] path ?

in/out/both,  corrected.
i prefer to have a path[] that will match "field.secondField.third" and have a bit of logic to get the next record byte[] in the low level resolver to avoid the need of the query engine to manage if is an embedded or a link, an information that the higher level cannot have. considering also  the schemaless nature of the database for the same path i could have in one record everything embedded in another all link.
anyway that could be solved in the same way returning an OBinaryValue and call multiple times the same api.

Not relevant anymore, closing it.


400 Bad Request - Substitutions may not be used with dynamic templating

Issue Summary
I am trying to send an email through Sendgrid API v3 (using Sendgrid's PHP SDK v7.0) using a transactional template with substitutions. If I send the email without substitions then I get a HTTP 202 and the email is successfully sent. However, as soon aas I try to add a substitution, then I get a HTTP "400 Bad Request - Substitutions may not be used with dynamic templating". I have tried many different ways to get those substitions working, I have even used the examples provided in the documentation and I am still gettting the same error.
Steps to Reproduce
Please find below the PHP code used:
$sendgrid = new SendGrid('sendgrid.key');
$email = new \SendGrid\Mail\Mail();
$email->setSubject("Sendgrid test");
<EMAIL_ADDRESS>"Test");
$email->addSubstitution("-content-", "content");
<EMAIL_ADDRESS>"Dev");
$email->addContent(
    "text/html",
    "TEST"
);
$email->setTemplateId("template-id");
try {
    $response = $this->driver->send($email);
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print $response->body() . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

And the HTML Template:

        <title></title>

         -content-

I have tried all sorts of substitution tags such as -, {{ }}, %, etc. None of them work.
Technical details:

sendgrid-php Version: master (latest commit: [commit number])
PHP Version: 7.2

Hello @sbarthewb,
Please follow this issue for progress.
With Best Regards,
Elmer


Option to hide realpath of a symlink

Firstly, love this update to ls. Thank you for creating it!
Now the one issue I have is that my output is wrapping a lot when I do a long list of a directory with many symlinks. This is primarily due to the automatic display of where the symlink points to. The mode column and color coding are more than enough information regarding symlinks 99.9% of the time for me. And when it's not I have realpath, readlink, etc. It's often fine when i've got the full terminal width but that is not often the case for me when using KiTTY or tmux, etc. Any chance we could get an option to disable the symlink point to info? 👼

Hi @runeimp ,
It could be an interesting feature indeed. It would be useful for some future features too. At the moment I don't have time to spend on lsd but it's an easy feature to do so you can make a pull request with this feature, i would review it with pleasure.

@runeimp @Peltoche
This PR could probably solve this issue.
https://github.com/Peltoche/lsd/pull/178
You could say something like
lsd -l --blocks permission,user,group,size,date,namewithoutsymlink

I am still deciding on the value namewithoutsymlink

Oh, wait. I think there is a way to solve the  issue with name namewithoutsymlink.
We could have a flag like --no-symlink which can be then used by PR https://github.com/Peltoche/lsd/pull/178 to decide between the both.
@runeimp Feel free to take a shot, otherwise I think I could add that in along with my PR.

@meain Go for it. I was going to take it on thinking this was in Python for some reason. I'm pretty good with Python. But realized it's Rust which I'm barely just getting into.  👼

@runeimp You can now use --no-symlink


stats: (NON-SCOPE-BASED APPROACH)prevent unused counters from leaking across hot restart

Hold imported-from-hot-restart deltas of counters that do not yet exist in the child, until the counter is created by the child. If hot restart completes without the counter being created, the delta is forgotten about.
Risk Level: low
Testing: updated unit test
Fixes #6756.

See #6850


Support for various audio-loading backends instead of always relying on SoundFile

Feature request
Introduce an option to select from a variety of audio-loading backends rather than solely relying on the SoundFile library. For instance, if the ffmpeg library is installed, it can serve as a fallback loading option.
Motivation

The SoundFile library, used in features/audio.py, supports only a limited number of audio formats.
However, current methods for creating audio datasets permit the inclusion of audio files in formats not supported by SoundFile.
As a result, developers may potentially create a dataset they cannot read back.

In my most recent project, I dealt with phone call recordings in .amr or .gsm formats and was genuinely surprised when I couldn't read the dataset I had just packaged a minute prior. Nonetheless, I can still accurately read these files using the librosa library, which employs the audioread library that internally leverages ffmpeg to read such files.
Example:
audio_dataset_amr = Dataset.from_dict({"audio": ["audio_samples/audio.amr"]}).cast_column("audio", Audio())
audio_dataset_amr.save_to_disk("audio_dataset_amr")
audio_dataset_amr = Dataset.load_from_disk("audio_dataset_amr")
print(audio_dataset_amr[0])

Results in:
Traceback (most recent call last):
...
    raise LibsndfileError(err, prefix="Error opening {0!r}: ".format(self.name))
soundfile.LibsndfileError: Error opening <_io.BytesIO object at 0x7f316323e4d0>: Format not recognised.

While I acknowledge that support for these rare file types may not be a priority, I believe it's quite unfortunate that it's possible to create an unreadable dataset in this manner.
Your contribution
I've created a simple demo repository that highlights the mentioned issue. It demonstrates how to create an .amr dataset that results in an error when attempting to read it just a few lines later.
Additionally, I've made a fork with a rudimentary solution that utilizes ffmpeg to load files not supported by SoundFile.
Here you may see github actions fails to read .amr dataset using the version of the current dataset, but will work with the patched version:

https://github.com/BoringDonut/hf-datasets-ffmpeg-audio/actions/runs/4773780420/jobs/8487063785
https://github.com/BoringDonut/hf-datasets-ffmpeg-audio/actions/runs/4773780420/jobs/8487063829

As evident from the GitHub action above, this solution resolves the previously mentioned problem.
I'd be happy to create a proper pull request, provide runtime benchmarks and tests if you could offer some guidance on the following:

Where should I incorporate the ffmpeg (or other backends) code? For example, should I create a new file or simply add a function within the Audio class?
Is it feasible to pass the audio-loading function as an argument within the current architecture? This would be useful if I know in advance that I'll be reading files not supported by SoundFile.

A few more notes:

In theory, it's possible to load audio using librosa/audioread since librosa is already expected to be installed. However, librosa will soon discontinue audioread support. Moreover, using audioread on its own seems inconvenient because it requires a file path as input and cannot work with bytes already loaded into memory or an open file descriptor (as mentioned in librosa docs, only SoundFile backend supports an open file descriptor as an input).

Hi!
You can use set_transform/with_transform to define a custom decoding for audio formats not supported by soundfile:
audio_dataset_amr = Dataset.from_dict({"audio": ["audio_samples/audio.amr"]})

def decode_audio(batch):
    batch["audio"] = [read_ffmpeg(audio_path) for audio_path in batch["audio"]]
    return batch

audio_dataset_amr.set_transform(decode_amr)

Supporting multiple backends is more work to maintain, but we could consider this if we get more requests such as this one.

Maybe it could be put somewhere as an example tip or something?

Considering the number of times a custom decoding transform has been suggested as a solution, an example in the docs would be nice.
cc @stevhliu


Consider refactoring NotebookWatcher

It seems like some of the events emitted by the NotebookWatcher are also provided by first class VS Code APIs. E.g.
https://github.com/microsoft/vscode-jupyter/blob/5c922c364f40f2399a4c4bbbc1c94348b54f10f9/src/client/datascience/variablesView/variableView.ts#L78-L79
can be replaced with

vscode.notebooks.onDidChangeNotebookCellExecutionState
vscode.window.onDidChangeActiveNotebookEditor

IF not stubbed for a test, we can just eliminate this.

This class is only used by the Variable viewer, assigning to Rob as he owns that area

I actually don't really like using onDidChangeNotebookCellExecutionState when the notebook already knows what was executed, we may not want to finalize that event. I'll just leave this alone


GridDevice should allow measuring any qubit

Description of the issue
Currently cirq_google.GridDevice requires that for any operation with exactly two qubits, the pair of qubits must be in qubit_pairs. However, not all 2-qubit operations require the qubits to be coupled. In particular, MeasurementGate should be allowed on any set of qubits, including pairs that are not coupled.
How to reproduce the issue
In [1]: import cirq; import cirq_google

In [2]: cirq_google.Sycamore.validate_operation(cirq.measure(cirq.q(0, 5), cirq.q(2, 5), cirq.q(4, 5)))

In [3]: cirq_google.Sycamore.validate_operation(cirq.measure(cirq.q(0, 5), cirq.q(2, 5)))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-a955df2ee85c> in <module>
----> 1 cirq_google.Sycamore.validate_operation(cirq.measure(cirq.q(0, 5), cirq.q(2, 5)))

~/src/quantumlib/cirq/cirq-google/cirq_google/devices/grid_device.py in validate_operation(self, operation)
    341             and frozenset(operation.qubits) not in self._metadata.qubit_pairs
    342         ):
--> 343             raise ValueError(f'Qubit pair is not valid on device: {operation.qubits!r}.')
    344
    345     def __str__(self) -> str:

ValueError: Qubit pair is not valid on device: (cirq.GridQubit(0, 5), cirq.GridQubit(2, 5)).

Cirq version
0.15

Thanks for the catch!


Embed static ressources into the ppl-utils binary.

The ppl-utils binary and the static files (pewpewlive-wasm.js, pewpewlive-wasm.wasm, pewpew.html) need to stay in sync.
To prevent user error it would be nice if the static files were stored in the binary.
Packr seems like it would do the job: https://github.com/gobuffalo/packr

I prefer to compile my own binaries, so how would this affect me? Keeping static files externally would mean that I wouldn't have to recompile the binary all that often. This could be implemented in a way where the releases(i.e. prebuilt binaries) or a separate branch have this system in place and to have the current/main branch keep the static files externally.

I prefer to compile my own binaries, so how would this affect me? Keeping static files externally would mean that I wouldn't have to recompile the binary all that often. This could be implemented in a way where the releases(i.e. prebuilt binaries) or a separate branch have this system in place and to have the current/main branch keep the static files externally.

As a side note in relation to my previous comment, using something like Git or GitHub Desktop allows you to sync all files automatically, thus making it easier to update the entire local clone of the repository.

As a side note in relation to my previous comment, using something like Git or GitHub Desktop allows you to sync all files automatically, thus making it easier to update the entire local clone of the repository.

This change would impact you negatively. Note however that compiling ppl-utils should be trivial.

This change would impact you negatively. Note however that compiling ppl-utils should be trivial.

It is trivial to compile ppl-utils, which is why I'm not necessarily in favor of this change, though I understand the convenience of it.

It is trivial to compile ppl-utils, which is why I'm not necessarily in favor of this change, though I understand the convenience of it.

I really prefer the simplicity of having a single binary.
I suppose that one solution to your problem would be for ppl-utils to serve the built-in webasm files by default, but offer the possibility to override the served files.
Overriding the served files could for instance be done via arguments on the command line.

I really prefer the simplicity of having a single binary.
I suppose that one solution to your problem would be for ppl-utils to serve the built-in webasm files by default, but offer the possibility to override the served files.
Overriding the served files could for instance be done via arguments on the command line.

I understand. It's annoying for most people to have to redownload the entire repository and release each time a small update is made to the Webassembly.

I understand. It's annoying for most people to have to redownload the entire repository and release each time a small update is made to the Webassembly.


Error when uncaching using a key with a pattern

Node Version: v18.17.1
NPM Version: 10.2.0
Prisma Client: 5.17.0
@yxx4c/prisma-redis-extension: 0.0.4
ioredis: 5.4.1
Redis Server: 7.4.0
Caching is working and is done using the following code:
try {
      const product = await prisma.product.findMany({
            where: {
                name: {
                      contains: search
                }
            },
            take: 5,
            cache: { ttl: 60 * 5, key: getCacheKey([ { prisma: 'Product' }, { search } ]) }
        });
} catch (error) {
    console.error(error)
}

When I use the following code to uncache it actually deletes the record from my Redis Server but the endpoint breaks:
try {
       const updateProduct = await prisma.product.update({
                    where: { id },
                    data: { quantity: { decrement: quantity } },
                    uncache: {
                        uncacheKeys: [ getCacheKeyPattern([ { prisma: 'Product' }, { glob: '*' } ]) ],
                        hasPattern: true
                    }
                });
} catch (error) {
    console.error(error)
}

And I get this error in the terminal
 ERROR  ERR wrong number of arguments for 'unlink' command

  at parseError (node_modules\redis-parser\lib\parser.js:179:12)
  at parseType (node_modules\redis-parser\lib\parser.js:302:14)

I have done more testing and the error doesnt occur when I set hasPattern to false. Unfortunately I need to use patterns.

After a few hours digging I was able to create a work around I found here by using del instead of unlink on the redis pipeline method inside your unlinkPattern function like so:
const unlinkPatterns = (pattern) => new Promise((resolve) => {
  const stream = redis.scanStream({
    match: pattern
  });

  stream.on('data', function (keys) {
    // `keys` is an array of strings representing key names
    if (keys.length) {
      var pipeline = redis.pipeline();
      keys.forEach(function (key) {
        pipeline.del(key);
      });
      pipeline.exec();
    }
  });

  stream.on('end', function () {
    resolve(true);
  });
});

And then called it after the prisma call like so:
const updateProduct = await prisma.product.update(...);

await unlinkPatterns(getCacheKeyPattern([ { prisma: 'Product' }, { company_id }, { glob: '*' }]))

Hi @jeky1950
Thank you for bringing this to my attention! I’ve identified the issue: it arises from passing only one key to be uncached, which is a pattern. The code was originally designed to uncache keys and was later updated to handle patterns. The hasPattern toggle in the config allows patterns to be processed separately, while non-patterns are handled normally.
The error you encountered, ERR wrong number of arguments for 'unlink' command, occurred because the non-pattern unlink operation attempted to unlink an empty array.
I will push an update to resolve this issue as soon as possible. In the meantime, you can use an invalid key as a temporary workaround for uncaching. Here’s an example:
try {
    const updateProduct = await prisma.product.update({
        where: { id },
        data: { quantity: { decrement: quantity } },
        uncache: {
            uncacheKeys: [
                getCacheKeyPattern([{ prisma: 'Product' }, { glob: '*' }]),
                "invalid_key_as_temporary_workaround"
            ],
            hasPattern: true
        }
    });
} catch (error) {
    console.error(error);
}

Let me know if you have any further questions!

Hey, just tried it out and it worked

Hi @jeky1950,
I have fixed the bug and updated the package (v0.1.0). Please check it and let me know if you encounter any further issues.


Use React.PureComponent instead of decorator

Since React 15.3 there is React.PureComponent as a base class

Coverage decreased (-0.5%) to 69.123% when pulling 2c80afc580921e9c8a9673ceffeb131c7b141e73 on pure-render into 5d5ee599f5663edcf5afd0538cddd3f31649e608 on master.


Is this library still maintained?

Hi @aletheia7, I'm currently trying to tidy up the bindings linked on the libsodium website. If this library is still maintained, then please let me know; otherwise, the link to this library will likely be removed from the bindings page to help users find up to date and maintained bindings.

No. It's frozen.

Thanks for getting back to me.


[SQL Migration] Allow folders inside blob containers

A recent change to the DMS RP was made which allows for the inclusion of a folder name as part of the blobContainerName parameter value passed when starting a blob scenario migration. This means that users are now able to store per-database backups in different folders within the same blob container for example, which should simplify the customer migration experience as well as reduce the number of errors we see related to misconfigured blob containers.
This PR adds support for this in the SQL Migration extension by adding an additional dropdown on the backup configuration page (for online scenario) where a folder is specified by the user - note that MI / VM LRS only supports folders at least one level deep, so we only offer one level of folder selection in the UI. In case the user doesn't have any folders and instead just has their backups in the root of the container as before, the dropdown will show the root directory (/) and the behavior is unchanged:

In the migration request body, this folder (if provided) is appended to blobContainerName:

For offline scenario migrations, since there is an already existing "Last backup file" dropdown, that one handles both the folder and last backup file selection at once, so no UI changes are needed, but request body was updated to include the folder name in blobContainerName instead of lastBackupFile.

Testing:

successfully validated 8 happy path end-to-end scenarios - SQL MI/VM, online/offline, and folder/no folder (e.g. root of the container, as before):

todo: corner cases

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.01%) to 41.916%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/dialog/configurePython/configurePathPage.ts
1
57.02%

extensions/notebook/src/dialog/configurePython/configurePythonWizard.ts
1
46.46%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
28662

Relevant Lines:
63508

💛  - Coveralls


DownloadBuildArtifacts task does not work in OnPrem if IIS has Basic Authentication enabled.

Can we mention in DownloadBuildArtifacts task that it will not work in OnPrem Environment if Basic Authentication is enabled in IIS.
We have two reported cases and the troubleshooting came down to this. The logs would fail with 401 and this is the only task that would fail.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9927683a-6fad-ab3d-4a28-1a9c101bda83
Version Independent ID: 7bccbe24-e106-1112-75a9-b093bb5ed012
Content: Download Build Artifacts task - Azure Pipelines
Content Source: docs/pipelines/tasks/utility/download-build-artifacts.md
Product: devops
Technology: devops-cicd-tasks
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

Thank you for your feedback! I'll be updating this shortly


How to blacklist test frameworks?

The Karma file pattern is a overly aggressive and keeps on matching in my mocha project, even though I've provided my own file_pattern. I've worked around this by setting Karma's file pattern to something bogus, but is there a way to either blacklist Karma or manually select the test framework?
Thanks!

I'm would like to avoid adding a blacklist if possible, ideally test.vim should be able to determine which runner you want to use, and if it doesn't it should be configurable.
The way that the Karma runner currently works is that it's activated if you have the karma executable inside the node_modules/ directory, so I'm assuming that you have Karma in your package.json. Can you think of any way that test.vim could determine whether certain JavaScript tests should be run using Karma or Mocha?

Well, that was it -- Karma had been installed into node_modules, although it wasn't used.
I don't have a good solution otherwise, checking for existence seems reasonable.  Thanks.


find_existing_by for CSV and Custom Parsers

Is there any way to set options directly per model for CSVs and custom parsers?

I didn't expect to be able to define both the options and records in a single file (although its great to know its possible).  Rather, it would be lovely to define the options in a Sprig consumable hash as follows:
fanciness = {
  :class  => User,
  :source => open('https://spreadsheets.google.com/feeds/list/somerandomtoken/1/public/values?alt=json'),
  :parser => Sprig::Data::Parser::GoogleSpreadsheetJson
  :options => { find_existing_by: :email }
}

That's a good idea. It's not currently supported, but I don't think it would be too difficult to implement. I could start work on that early next week.

Turns out that this is already supported with a minor syntax tweak. Just omit the :options key:
fanciness = {
  :class            => User,
  :source           => open('https://spreadsheets.google.com/feeds/list/somerandomtoken/1/public/values?alt=json'),
  :parser           => Sprig::Data::Parser::GoogleSpreadsheetJson
  :find_existing_by => :email
}

See https://github.com/vigetlabs/sprig/commit/8c96fb250c45b9a74d8db7c43558152db4ae39b6


Default the isEqual flag to true in alertmanager

Default the isEqual flag to true in alertmanager
Solves #2602 - the new version of alertmanager introduces an isEqual
flag to support != matchers in alertmanager silences. Clients set this
to true in the JSON blob sent to the api to indicate a foo=bar matcher,
and to false to indicate foo!=bar. Due to gos unmarshalling, anything
that doesn't include this flag will default to false (i.e. a !=
matcher), so any clients that aren't aware of this flag (such as amtools
before negative matchers and the new api) will not send it, and when you
think you are making a foo=bar matcher, alertmanager will interpret that
as a not equals.
This commit changes the Unmarshaling of the v1matcher struct to default
the IsEqual flag to true, to keep the old behaviour for clients not
setting the flag
Signed-off-by: sinkingpoint<EMAIL_ADDRESS>

Also, if you could rebase on top of the branch release-0.22 this would be great - while not mandatory: if you do not rebase, I will simply cherry pick into the release branch.

Done and done

Done and done. Apologies for the initial scare - I'm glad the scope turned out to be less than I originally proposed

I expect that many people use the api v1 - without amtool. This is still an important bug.

Thank you!

Thanks for catching this. I thought we had covered it in the original change. But I vaguely remember that we thought about v1 API not as carefully, assuming it's rarely used and soon to be removed. But as @roidelapluie said, it should certainly keep working as expected as long as it is there.

Thank you for the catch and the speedy fix @sinkingpoint.


Add improvements to dependabot config

What is the context of this PR?
For this PR I tried to use all the options for dependabot configuration available that are relevant to us, for explanation of each check the doc at https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
Things that were changed in order to improve our config:

divided python/poetry packages into two separate ecosystems (I read in github PRs for depednabot-core project that support for this was added some time ago) so, from now on, we will only execute dependabot pipeline for prod packages (will trigger on label "python" and requires another PR in pipelines)

added two new ecosystems to check (npm/node and github actions)

defined a day of the week when we want to execute the check

defined the interval, for prod dependencies it's weekly (we check and merge depednabot PRs manually bi-weekly atm), for dev packages monthly (all three ecosystems python-dev, node and github actions). Open to debate but worth remembering there are only three options for the interval: daily, weekly or monthly.

defined the time of the check and the timezone so we don't execute it at random time and in UTC

added versioning strategy so for python and npm (which do have version constraints for packages in their relevant files (pyproject.toml and package.json). We will update the version constraint to the next major (eg. from ^1.0.0 to ^2.0.0) when it changes, check explanation here: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#versioning-strategy

removed ignored major and minor dev packages releases setting for python dev packages, since they are now checked monthly (using the new config) and won't trigger dependabot staging pipeline anymore, we want to mark them for checks as well. Before we ignored major and minor releases which caused dependabot checks to trigger and recreate PRs daily

added more relevant labels (dependabot staging pipeline will trigger on "python" label now, dev group/ecosystem will have "python-dev" label) (NEW LABELS NEED TO BE CREATED FIRST BEFORE MERGING RUNNER PR)

How to review
You might have to fork the repo, clone the fork locally, revert some commits and then force push it up to the fork with the new config and check if it works (might have to change the day and the time in the config to your time and day). Remember to enable Dependabot in the forked repo settings.
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

If the new labelling is approved this will require changes in Dependabot pipeline before merging.

New labels in Runner repo need to be created before this is merged as well.

Will make the changes now, just a reminder that what we decide to label prod dependencies needs to be added to and triggering dependabot pipeline, so changed in the triggering resource in pipeline.

Do we need to call out somewhere (in the readme?) that this needs config exists and needs to be updated when a new package is added. Otherwise there is a risk some could be missed?

I was thinking maybe pyproject.toml and package.json? Just a comment there about dependabot config?


Patch for %SnipRun and documentation

fixes #63

Codecov Report

Merging #64 (edaea3c) into master (8b32b37) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #64   +/-   ##
=======================================
  Coverage   60.75%   60.75%
=======================================
  Files          25       25
  Lines        2423     2423
=======================================
  Hits         1472     1472
  Misses        951      951

Continue to review full report at Codecov.

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


Minor style change for email widget

(more vertically centered)
Before:

After:

:+1:

:+1:

:+1:


Description for imageset api

Description
Description for imageset api
FIXES: related to epic https://issues.redhat.com/browse/THEEDGE-3383
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Documentation update
[ ] Tests update
[x] Refactor

/retest


CAMEL-9542 - Allow HttpClient configuration (proxy, connection poolin…

…g, etc) for camel-geocoder component

merged, btw it would be nice to add label = "proxy" for all those proxy ones, and label = "advanced" for those last 2. If so please do a new PR as I merged this.

Done via #819


Turnover plot for each quantile

It would be great to have an option to plot the turnover for all quantiles, similar to "Top and Bottom Quantile Daily Turnover" plot but where each quantile has a separate plot.

A thing to think about is that if we implement the computing turnover for each day in the  days argument, these plots should try and communicate that clearly. So perhaps there would be a plot for each quantile, and within that plot would be each days turnover line.

That sounds good to me.

Also, I don't mean that create_factor_tear_sheet has to plot everything by default, but having the option available would be great

Totally, that modularization is something we should try and keep in mind

I give up on this (even if It's a pity to not plot all information available) because there are too many plots already.


Delete resolveArtifacts from ModuleComponentRepositoryAccess

This always returns the same answer and we do not need to worry
about the difference between "local" and "remote" repositories

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

Just checking - are any of the tests you deleted worth saving? i.e. would they still work if we stop referencing/downcasting to LocalRepositoryAccess etc.?

No, the functionality is all gone from those classes.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.


[fix] Fix task run condition sync with job state

Changes

Fix mismatch between taskRun status and integrationJob status

Submitter Checklist

[ ] Docs included if needed
[x] Tests included if needed
[x] Follows the good commit messages standard

/approve


Administratos are refered to as owners in comment headings

Comments for issues and PRs written by Collaborators in a project are tagged with "Owner" in the heading, if the collaborators have global admin access. I think this is not intended.

This should be a bug but not an enhancement.

Isn't it just reflecting their role in the organization, if it is one?

Isn't it just reflecting their role in the organization, if it is one?

I do not understand. Admin access is not on organization level, and I do not see why someone should be designated as "Owner" of a project, only because he can in principle do everything an owner could. It might not reflect the role of this user in the context of the given organization.


[CXP-1293] Consistent error handling in SQL Server connector

See DBZ-3823, https://github.com/debezium/debezium/pull/2572.
The caveat here is that Kafka Connect doesn't support restarting failed tasks, so it's core Debezium that catches the retriable exception and restarts the task internally. It means that while the task is failing due to a retriable error and restarting, it's RUNNING from the API perspective. If for some reason a non-retriable exception is considered retriable and gets restarted indefinitely, the alert based on the number of failed tasks will not trigger.
Maybe in addition to retriable.restart.connector.wait.ms, we'll need another option that will limit the number of restart attempts or the total duration of the fail-and-retry loop.

Superseded by https://github.com/debezium/debezium/pull/2572.


controller: Add debug endpoints

Similar to #2998, we should add debug endpoints to the controller to dump the contents of the job_cache and formations tables so we can compare with the scheduler state and detect issues.

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Support allowNativePasswords in DB connection

Currently fleet does not allow the allowNativePasswords DSN parameter to enable connections to Azure MySQL. Instead of passing a bunch of different params, requesting to simply expose the DSN string instead.
More information from a similar request available here: https://github.com/grafana/grafana/pull/8618
What version of fleet are you using (fleet version --full)?

version 1.0.6
branch: 	master
revision: 	45165aa29aae52346ed1c458f19b89947d315c61
build date: 	2017-12-04T22:50:27Z
build user: 	marpaia
go version: 	go1.9.2

What operating system are you using?
Ubuntu 16.04.3 LTS
Azure MySQL
What did you do?
fleet serve --config ./confg.yml
What did you expect to see?
Proper connection
What did you see instead?
"mysql":"could not connect to db: this user requires mysql native password authentication.

+1
Would love to use Azure MySQL for our Fleet deployment. We're nearing 5k machines.

Fixed by #1805


Add Typescript support

Since Strapi is adding typescript support to its beta version, will you consider adding that to this plugin as well?

Hi @Keith-Hon, yes the idea is to add a Types definition file when the plugin is more worked out. Might I ask which plugin services and functions you are currently using? 👀

Yes please add TS support!


How to handle messages in parallel with popo::listener?

Is there any example of execute tasks use thread pool in Listener callback of untyped server? I tried to use BS::thread_pool to execute task in parallel, but the server is always crash after handle some requests.
This is my code, I use listener in a class:
listener.attachEvent(
            *server, iox::popo::ServerEvent::REQUEST_RECEIVED,
            iox::popo::createNotificationCallback(on_event, *this))
        .or_else([](auto) {
            std::cerr << "unable to attach server" << std::endl;
            std::exit(EXIT_FAILURE);
        });

std::string process_method(std::string_view method_name, std::string_view arguments) const {
        if(!_methods.contains(method_name.data())) {
            return std::format("method: {} is not exist", method_name);
        }

        return _methods.at(method_name.data()).handler(arguments);
    }

static void on_event(iox::popo::UntypedServer* server, ServerBase* self) {
    server->take().and_then([server, self](const auto& request_payload) {
        auto e_id = server->getServiceDescription().getEventIDString().c_str();
        auto payload = static_cast<const char*>(request_payload);
        auto request_header = iox::popo::RequestHeader::fromPayload(request_payload);
        auto chunk_header = request_header->getChunkHeader();
        auto user_payload_size = chunk_header->userPayloadSize();
        std::string ret_method;
        try {
            ret_method = self->process_method(e_id, std::string_view{ payload, user_payload_size });
        }
        catch (...) {
        }
        server->loan(request_header, ret_method.size(), 1)
              .and_then([&](auto& response_payload) {
                  auto response = static_cast<uint8_t*>(response_payload);
                  if (!ret_method.empty())
                      std::memcpy(response, ret_method.c_str(), ret_method.size());
                  server->send(response).or_else(
                      [&](auto& error) {
                          std::cout << "Could not send Response! Error: " << error << std::endl;
                      });
              })
              .or_else(
                  [&](auto& error) {
                      std::cout << "Could not allocate Response! Error: " << error << std::endl;
              });
        server->releaseRequest(payload);
        }).or_else(
        [&](auto& error) {
            std::cout << "Could not take event! Error: " << error << std::endl;
        });
}

Sorry, It seems that I use the wrong version.

@alan0526 No worries. We are happy that the issue was solved on its own :smile:

@alan0526 also, be aware that the sample lives long enough if you use the pointer to the payload from another thread. Ideally, the whole sample would be just moved to the thread from the thread pool. This is usually easier to do with the WaitSet than with the Listener since the the server needs to be guarded with a mutex when accessing it from multiple threads, e.g. when sending a response. This cannot be done with the Listener since it also accesses the Server internally from an implicitly started thread.


OSX 10.10 has a specific security warnings

When running through the installation notes for 10.10 double-clicking the JAR wouldn't load the application or display any further warnings.  Using System Preferences > Security & Privacy should allow Nightcode to load .

Could you submit a pull request? Thanks
On Friday, October 14, 2016, Jason Walsh<EMAIL_ADDRESS>wrote:

When running through the installation notes for 10.10 double-clicking the
JAR wouldn't load the application or display any further warnings. Using System
Preferences > Security & Privacy should allow Nightcode to load .
You can view, comment on, or merge this pull request online at:
https://github.com/clojurebridge-boston/installfest/pull/11
Commit Summary

10.10 has a specific security warnings
Text cleanup

File Changes

M docs/setup_osx.md
https://github.com/clojurebridge-boston/installfest/pull/11/files#diff-0
(7)

Patch Links:

https://github.com/clojurebridge-boston/installfest/pull/11.patch
https://github.com/clojurebridge-boston/installfest/pull/11.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/clojurebridge-boston/installfest/pull/11, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAkU4VG_exvRWK7ULfYm1ywHMI4zI9EHks5qz_GIgaJpZM4KXcz3
.

--
Dr. Elena Machkasova
Associate Professor of Computer Science
Division of Science and Mathematics
University of Minnesota, Morris
Office: Sci 2325
(320) 589-6308
http://cda.morris.umn.edu/~elenam/

@elenam Let me see if this displays differently as a PR from my repo but not in the master branch.  Will update later tonight.


Cannot spawn mono

After installed ionide-paket on OSX I get:
"'mono' could not be spawned"
in a popup and
"Uncaught Error: spawn mono ENOENT event.js:141"
The mono program is on my PATH and there are no settings to change the path where it searches for the file.
Can anyone help?
Edit: Same issue on Ubuntu Linux.

I'm seeing this as well with Atom 1.0.15.
mono version: Mono JIT compiler version 4.2.0 (Stable <IP_ADDRESS>/a224653 Fri Aug 28 13:53:46 PDT 2015)
And ionide-installer 1.2.1

Please update ionide-paket to version 2.1.0. Now, there should place in settings to define mono path

Installing 2.1.0 appears to have fixed the problem for me.  Thanks!

Still reproduced :( I tried to add /usr/local/bin as Mono Path in plugin settings but still getting this error

'/usr/local/bin/mono' could not be spawned. Is it installed and on your path? If so please open an issue on the package spawning the process.

I had similar issue with<EMAIL_ADDRESS>package but it was resolved by changing Mono path.
OS X 10.11.2 (El Capitan)
Atom 1.3.2
ionide-paket 2.2.3


Quick fix for #2329, disposes loaded assets for correct initialization

Contains
My auto-complete PR(#2266) seems like broke proper initialisation of UIScreenLayer. An example for reproducing as mentioned in  #2329, when migTestScreen is loaded with auto completion, exiting the screen with ESC throws an Exception.
My previous PR used AssetManager's getAvailableAssets() method for suggesting available UIScreenLayer's for showScreen(). What I missed at that time, getAvailableAssets() method tries to  initialise the assets and when showScreen() method is invoked with auto completion and proper initialisation steps are not considered.  A quick fix in this PR disposes these loaded assets, therefore screens are correctly loaded.
How to test
For testing, loading migTestScreen with auto completion(writing showScreen mig and hitting TAB key) and exitting the screen by hitting ESC must suffice.
Outstanding before merging

[ ] A method in AssetManager, that I might be missing for getting available assets without requiring disposal

Hooray Jenkins reported success with all tests good!

Thanks for looking into this. It looks like the showScreen method does not work properly for UIElement parameters. I will have a look so we can discuss this tomorrow morning.


⚠ Bofrost.lu has degraded performance

In 369c919, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1701 ms

Resolved: Bofrost.lu performance has improved in 4ff0209 after 8 minutes.


What is the progress/ state of the project pr. 26 aug 2024?

A fast an simple status in high level terms on work done until 26. Aug 2024.
(so you dont have to go hunting in the milestones and issue-backlog to get an overview)
We have

an issue tracker

issues divided into milestones

slightly labeled

a few unfinished user stories

the os2ID upstream component Authentik ready to test v.0.9

the os2samtale upstream component Zulip ready to test

an account (via Semaphor) on FKAS with access to the testing env

OS2 id test component registered on FKAS

🎉 Verified tests of communication with FKAS from a manual development setup of Authentik

some unfinished docs concerning integration with FKAS

An offer from the development supplier Semaphor to make a manual non-reproducible technical implementation + manual operations

An offer from the Operations supplier KvalitetsIT to create automated, reproducible builds and technical implementations.

Interest from the Operations supplier Digitalist.Cloud but we are awaiting them to get back from summer vacation ☀

We lack

technical documentation

a reproducible deployment method for Authentik with FKAS integration

a production ready Zulip container image build

a reproducible deployment method for Zulip with Authentik integration

a container host

a project owner for 1.0 release version

an operations team

a support team

more user stories

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Fix templating exporter parser to handle braces in expressions correctly

Fixes #3381
Changes proposed in this pull request:

When searching for the closeBrace, we match "}}" at once to avoid internal '}'
A test to reproduce

Sure. I will close this PR. Another shows a way to fix it. https://github.com/OpenRefine/OpenRefine/pull/4355 You may have a look.


Harbor maybe not support images like pattern /a/b/c

Docker Environment
Version of docker engine: 1.12.3
Version of docker-compose: 1.8.1

Problem Description
when pushing image with path pattern /a/b/c (3 level of depth, with extra b in between), then it will fail;
However, when pushing image with path /a/b (2 level of depth), it is ok.

A sample input is like below:
[root@cvl-dock-a01 bin]# docker push <IP_ADDRESS>/gcr.io/google_containers/kube-apiserver:1.4.6
The push refers to a repository [<IP_ADDRESS>/gcr.io/google_containers/kube-apiserver]
5b698d72b887: Preparing
5f70bf18a086: Preparing
unauthorized: authentication required
[root@cvl-dock-a01 bin]# docker push <IP_ADDRESS>/gcr.io/kube-apiserver:1.4.6
The push refers to a repository [<IP_ADDRESS>/gcr.io/kube-apiserver]
5b698d72b887: Pushed
5f70bf18a086: Pushed
e88b3f82283b: Pushed
1.4.6: digest: sha256:75452acb6fb987fb0ed40a10a50daccf0ce85452b6ffa02a55c41dcf567af309 size: 945

we do not support multi-level image name for now. This is working as design.

OK. Thanks!

@jiangshouzhuang  pushing 3 level of depth images is allow for me, but this image will not be showed on Harbor UI while acutally it is in registry, and pulling this image from harbor is also ok.
it's just not showed on harbor UI.
push 3 level of depth image
[root@iZbp1h9mcsfqonyx1mrd4zZ v2]# docker tag registry:2.5.0 <IP_ADDRESS>/test/env/registry:2.5.0
[root@iZbp1h9mcsfqonyx1mrd4zZ v2]# docker push <IP_ADDRESS>/test/env/registry:2.5.0
The push refers to a repository [<IP_ADDRESS>/test/env/registry]
3bb5bc5ad373: Pushed
35039a507f7a: Pushed
d00444e19d65: Pushed
aa3a31ee27f3: Pushed
4fe15f8d0ae6: Pushed
2.5.0: digest: sha256:51d8869caea35f58dd6a2309423ec5382f19c4e649b5d2c0e3898493f42289d6 size: 1363
pull 3 level of depth image
[root@iZbp1hzc874gjzeex1wexyZ ~]# docker pull <IP_ADDRESS>/test/env/registry:2.5.0
2.5.0: Pulling from test/env/registry
7c563a369b34: Pull complete
e70be49f2d01: Pull complete
39b74051b997: Pull complete
fc188a5e4a4a: Pull complete
4039be1e17f0: Pull complete
52fc633e7f0e: Pull complete
41d63f27d221: Pull complete
fba3b13a59dc: Pull complete
e26bb2bff6c0: Pull complete
Digest: sha256:7ed413bfb20921704479e899cbbff5327a87fc0ccb4d4e8c244e28b9c67ef873
Status: Downloaded newer image for <IP_ADDRESS>/test/env/registry:2.5.0

@nuaays Thanks for your answer.
But I want to know what's the project name in you Harbor UI?

Closing as this has been fixed.


InOrderConsumer doesn't work as intended.

💸 TL;DR + Details
The InOrderConsumer Kafka Class makes a lot of assumptions that are False and inefficient with how Kafka Processes Events.
The current logic of using only 1 consumer and commit back the offsets doesn't take into consideration that the upstream messages are sending messages randomly to each partition.
You would need to enable transactions upstream for the producer, as well as delivering messages with a Key. This would guarantee two things.

All messages with a given key are guaranteed to land in a single partition.

https://docs.confluent.io/platform/current/clients/producer.html#concepts

The partitioners shipped with Kafka guarantee that all messages with the same non-empty key will be sent to the same partition.
If the key is provided, the partitioner will hash the key with murmur2 algorithm and divide it by the number of partitions. The result is that the same key is always assigned to the same partition.

Consumers can switch to reading committed transactions instead of uncommitted transactions.

https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#isolation-level
📜 Details
So what is this PR doing so differently?
Technically, this keeps the same exact APIs in place, but only solves 1 problem. Stop committing back to Kafka so frequently.
Instead of manually committing every offset which swarms Kafka with requests. Store the offset locally and commit the last max seen offset per partition back to Kafka in the auto.commit frequency.
This keeps the behavior that you're committing every offset, but only delivering it every couple of seconds.
 I can revert that.

@tomncooper and @skykistler This is good to review again.
I mentioned the config and the default in the docstring, but I would rather not be explicit on the value.

@chriskuehl Sorry should have tagged you also. But I cleaned up all the linting formatting my setup had.


Getting 500 - Internal Server Error every time I click on "Charts" menu

Make sure these boxes are checked before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

I was able to create a chart and a dashboard. However, I can no longer access the charts menu to create new one. I am getting the following message on console:
[2018-11-09 00:22:58,127] ERROR in app: Exception on /chart/list/ [GET]
Traceback (most recent call last):
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/root/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/security/decorators.py", line 26, in wraps
    return f(self, *args, **kwargs)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/views.py", line 478, in list
    widgets=widgets)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/baseviews.py", line 161, in render_template
    return render_template(template, **dict(list(kwargs.items()) + list(self.extra_args.items())))
  File "/root/venv/lib/python3.6/site-packages/flask/templating.py", line 134, in render_template
    context, ctx.app)
  File "/root/venv/lib/python3.6/site-packages/flask/templating.py", line 116, in _render
    rv = template.render(context)
  File "/root/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/root/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 2, in top-level template code
    {% import 'appbuilder/general/lib.html' as lib %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/base.html", line 1, in top-level template code
    {% extends base_template %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/superset/base.html", line 1, in top-level template code
    {% extends "appbuilder/baselayout.html" %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/baselayout.html", line 2, in top-level template code
    {% import 'appbuilder/baselib.html' as baselib %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/init.html", line 46, in top-level template code
    {% block body %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/baselayout.html", line 21, in block "body"
    {% block content %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 12, in block "content"
    {% block list_list scoped %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 13, in block "list_list"
    {{ widgets.get('list')()|safe }}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/widgets.py", line 34, in __call__
    return template.render(args)
  File "/root/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/root/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/root/venv/lib/python3.6/site-packages/superset/templates/superset/fab_overrides/list.html", line 1, in top-level template code
    {% extends 'appbuilder/general/widgets/list.html' %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/general/widgets/list.html", line 2, in top-level template code
    {% extends 'appbuilder/general/widgets/base_list.html' %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/widgets/base_list.html", line 25, in top-level template code
    {% block begin_loop_values %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/general/widgets/list.html", line 45, in block "begin_loop_values"
    {% for item in value_columns %}
  File "/root/venv/lib/python3.6/site-packages/jinja2/runtime.py", line 478, in __next__
    ctx._after = ctx._safe_next()
  File "/root/venv/lib/python3.6/site-packages/jinja2/runtime.py", line 455, in _safe_next
    return next(self._iterator)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/models/base.py", line 114, in get_values
    retdict[col] = self._get_attr_value(item, col)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/models/base.py", line 66, in _get_attr_value
    return getattr(item, col)()
  File "/root/venv/lib/python3.6/site-packages/superset/models/core.py", line 181, in datasource_link
    return datasource.link if datasource else None
  File "/root/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, in link
    return Markup('{name}').format(**locals())
TypeError: format() got multiple values for argument 'self'
Exception on /chart/list/ [GET]
Traceback (most recent call last):
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/root/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/root/venv/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/security/decorators.py", line 26, in wraps
    return f(self, *args, **kwargs)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/views.py", line 478, in list
    widgets=widgets)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/baseviews.py", line 161, in render_template
    return render_template(template, **dict(list(kwargs.items()) + list(self.extra_args.items())))
  File "/root/venv/lib/python3.6/site-packages/flask/templating.py", line 134, in render_template
    context, ctx.app)
  File "/root/venv/lib/python3.6/site-packages/flask/templating.py", line 116, in _render
    rv = template.render(context)
  File "/root/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/root/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 2, in top-level template code
    {% import 'appbuilder/general/lib.html' as lib %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/base.html", line 1, in top-level template code
    {% extends base_template %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/superset/base.html", line 1, in top-level template code
    {% extends "appbuilder/baselayout.html" %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/baselayout.html", line 2, in top-level template code
    {% import 'appbuilder/baselib.html' as baselib %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/init.html", line 46, in top-level template code
    {% block body %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/baselayout.html", line 21, in block "body"
    {% block content %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 12, in block "content"
    {% block list_list scoped %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 13, in block "list_list"
    {{ widgets.get('list')()|safe }}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/widgets.py", line 34, in __call__
    return template.render(args)
  File "/root/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/root/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/root/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/root/venv/lib/python3.6/site-packages/superset/templates/superset/fab_overrides/list.html", line 1, in top-level template code
    {% extends 'appbuilder/general/widgets/list.html' %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/general/widgets/list.html", line 2, in top-level template code
    {% extends 'appbuilder/general/widgets/base_list.html' %}
  File "/root/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/widgets/base_list.html", line 25, in top-level template code
    {% block begin_loop_values %}
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/general/widgets/list.html", line 45, in block "begin_loop_values"
    {% for item in value_columns %}
  File "/root/venv/lib/python3.6/site-packages/jinja2/runtime.py", line 478, in __next__
    ctx._after = ctx._safe_next()
  File "/root/venv/lib/python3.6/site-packages/jinja2/runtime.py", line 455, in _safe_next
    return next(self._iterator)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/models/base.py", line 114, in get_values
    retdict[col] = self._get_attr_value(item, col)
  File "/root/venv/lib/python3.6/site-packages/flask_appbuilder/models/base.py", line 66, in _get_attr_value
    return getattr(item, col)()
  File "/root/venv/lib/python3.6/site-packages/superset/models/core.py", line 181, in datasource_link
    return datasource.link if datasource else None
  File "/root/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, in link
    return Markup('{name}').format(**locals())
TypeError: format() got multiple values for argument 'self'

I tried to restart the service and reboot the server. It didn't help.
Superset version
Latest
Expected results
I am expecting to access the "charts" menu
Actual results
Getting 500 - Server Error
Steps to reproduce
System was installed on Ubuntu 18.04 LTS following these steps:

apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev
pip3 install virtualenv
virtualenv venv
. ./venv/bin/activate
pip3 install --upgrade setuptools pip
pip install superset
fabmanager create-admin --app superset
superset db upgrade
superset load_examples
superset init
superset runserver

I am still able to login and browse the UI but cannot access the charts anymore after creating a chart and assigning it to a dashboard.

Same problem here with CentOS. However, problem only affects the charts view. Bypassing the view and adding a chart via http://localhost:8088/chart/add works fine.

I am also facing the same issue.

me too.
python 3.6.6
superset 0.28.1 (pip install it)
Flask-SQLAlchemy 2.3.2
reproduced the issue:
save a chart (with druid datasource) and then  click 'charts'

After patching   file : /usr/local/lib/python3.7/site-packages/markupsafe/init.py
    def format(*args, **kwargs):
    to
    def format(self, *args, **kwargs):

It worked for me.

plz check if markupsafe==1.0 in your env.

https://github.com/apache/incubator-superset/pull/6448 should address it

The more targeted fix would be on "/root/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, to go
    return Markup('{name}').format(**locals())
    return Markup('{name}'.format(**locals()))

The more targeted fix would be on "/root/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, to go
    return Markup('{name}').format(**locals())
    return Markup('{name}'.format(**locals()))

The more targeted fix would be on "/root/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, to go
    return Markup('{name}').format(**locals())
    return Markup('{name}'.format(**locals()))

Hi  @mistercrunch , I have installed superset(0.28.1) with pip in google cloud , while accessing the superset charts i'm getting error which is similar to this error

Traceback (most recent call last):
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/security/decorators.py", line 26, in wraps
    return f(self, *args, **kwargs)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/views.py", line 478, in list
    widgets=widgets)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/baseviews.py", line 161, in render_template
    return render_template(template, **dict(list(kwargs.items()) + list(self.extra_args.items())))
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/templating.py", line 134, in render_template
    context, ctx.app)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask/templating.py", line 116, in _render
    rv = template.render(context)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 2, in top-level template code
    {% import 'appbuilder/general/lib.html' as lib %}
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/base.html", line 1, in top-level template code
    {% extends base_template %}
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/superset/base.html", line 1, in top-level template code
    {% extends "appbuilder/baselayout.html" %}
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/appbuilder/baselayout.html", line 2, in top-level template code
    {% import 'appbuilder/baselib.html' as baselib %}
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/init.html", line 46, in top-level template code
    {% block body %}
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/appbuilder/baselayout.html", line 21, in block "body"
    {% block content %}
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 12, in block "content"
    {% block list_list scoped %}
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/model/list.html", line 13, in block "list_list"
    {{ widgets.get('list')()|safe }}
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/widgets.py", line 34, in __call__
    return template.render(args)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/superset/fab_overrides/list.html", line 1, in top-level template code
    {% extends 'appbuilder/general/widgets/list.html' %}
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/general/widgets/list.html", line 2, in top-level template code
    {% extends 'appbuilder/general/widgets/base_list.html' %}
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/templates/appbuilder/general/widgets/base_list.html", line 25, in top-level template code
    {% block begin_loop_values %}
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/templates/appbuilder/general/widgets/list.html", line 45, in block "begin_loop_values"
    {% for item in value_columns %}
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/runtime.py", line 435, in __init__
    self._after = self._safe_next()
  File "/home/sluser/venv/lib/python3.6/site-packages/jinja2/runtime.py", line 455, in _safe_next
    return next(self._iterator)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/models/base.py", line 114, in get_values
    retdict[col] = self._get_attr_value(item, col)
  File "/home/sluser/venv/lib/python3.6/site-packages/flask_appbuilder/models/base.py", line 66, in _get_attr_value
    return getattr(item, col)()
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/models/core.py", line 181, in datasource_link
    return datasource.link if datasource else None
  File "/home/sluser/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, in link
    return Markup('{name}').format(**locals())
TypeError: format() got multiple values for argument 'self' ```
>** What I have understood from this issue discussion is ,to resolve this, I have to replace the following line**
```532         return Markup('{name}').format(**locals())```
**with the below line**
```return Markup('{name}'.format(**locals()))```
**and restart superset**
Is this what you are suggesting to do?
If that is the case, after I change I like that and restarted it, my previous charts which I had made will be available or not?

me too.
python 3.6.6
superset 0.28.1 (pip install it)
Flask-SQLAlchemy 2.3.2
reproduced the issue:
save a chart (with druid datasource) and then click 'charts'

最后怎么解决的呢

The more targeted fix would be on "/root/venv/lib/python3.6/site-packages/superset/connectors/druid/models.py", line 532, to go
    return Markup('{name}').format(**locals())
    return Markup('{name}'.format(**locals()))

thank you. worked like a charm.


Add test files

Add test files
Add css edits

I deleted conflicting files, I think it should be good for merge now.


docker badge for readme

📝 Summary
To  surface the docker images better

✅ I have run these commands

[x] make lint
[x] make test-race
[x] go mod tidy

Codecov Report

Merging #515 (f5f7dbd) into develop (54eeaa2) will decrease coverage by 1.43%.
The diff coverage is 64.43%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #515      +/-   ##
===========================================
- Coverage    70.24%   68.81%   -1.43%
===========================================
  Files            6        8       +2
  Lines          541     1270     +729
===========================================
+ Hits           380      874     +494
- Misses         132      346     +214
- Partials        29       50      +21

Flag
Coverage Δ

unittests
68.81% <64.43%> (-1.43%)
:arrow_down:

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

Impacted Files
Coverage Δ

cli/types.go
0.00% <0.00%> (ø)

server/mock_types.go
100.00% <ø> (ø)

cli/main.go
12.98% <12.98%> (ø)

server/types.go
70.00% <70.00%> (ø)

server/service.go
75.74% <73.92%> (+3.73%)
:arrow_up:

server/utils.go
82.23% <84.80%> (+14.66%)
:arrow_up:

server/mock_relay.go
88.44% <90.81%> (+5.58%)
:arrow_up:

server/relay_entry.go
90.00% <100.00%> (+8.75%)
:arrow_up:

... and 1 file with indirect coverage changes


is there any more specific tutorial?

hi, I am new with Android development, and the tutorial in the README is s bit simple.
I have been struggle with the code for some days. I am focusing on the server side and so far I have build the code using Android Studio (I am not sure if this is ok.) instead of IntelliJ Idea. AND I do not know what to do next  (e.g. launch a server with what kind of plugin or how to test the server ).
Here I want to get some help. a more specific tutorial is very very appreciated.
THANKS!

I build the code using AS, too. And I encountered a problem with client-server communication. How should I check if the client and server are successfully communicating?


Model name taken from the mmd_root obj

Now during export the model name is taken from the mmd_root object.

Thank you very much! I will merge your commit.

I'm glad to see you are back after two weeks, I was starting to worry about you and this addon, I would really like to see the 0.5 release with a fully working PMX Export feature.


Potential Mod3 Flattening issue

Hi Jake, I'm noticing that the major select all that apply questions for the flattened Module 3 table in prod are missing. They're in the raw tables, and I'm not seeing anything that would indicate a raw data issue. Is this at all related to the data structure issue? Or just a flattening issue?
One example is the very first question asked in this survey:  947205597 . Other examples include: 830608495, 103566006

Hi Kelsey, We are having trouble with flattening module 3 because of their are some mixed-type variables in this table. I will work on a work-around solution and let you know how it goes..

Thanks! It's not urgent, I only noticed it on the monthly report fails so wanted to give you the heads up in case you weren't already aware

Hi Kelsey,
There are a few nested variables in the M3 survey that were breaking the flattening script due to mixed data types (i.e., string/entity). I implemented a workaround to ignore any variables that contain the substring "entity" in their compound name, so the script will be resilient to this mixed type data. I believe the variables that you were hoping for should now be there.
That said, the variables with the mixed-type data are being excluded from the flattening until the underlying data structure issue is resolved. In module 3, these include:
[
  {
    "environment": "PROD",
    "table_schema": "Connect",
    "table_name": "module3_v1",
    "column_name": "D_633553324",
    "data_type": "STRUCT\u003cstring STRING,
                  entity STRUCT\u003cD_602102163 STRING,
                  D_818310825 STRING, D_164707243 STRING,
                  D_175385712 STRING, D_772143730 STRING,
                  D_843593800 STRING, D_294629316 STRING,
                  D_771426895 STRING, provided STRING\u003e"
  },
  {
    "environment": "PROD",
    "table_schema": "Connect",
    "table_name": "module3_v1",
    "column_name": "D_470862706",
    "data_type": "ARRAY\u003cSTRUCT\u003cstring STRING,
                  entity STRUCT\u003cD_690918725 ARRAY\u003cSTRING\u003e,
                  D_178609656 ARRAY\u003cSTRING\u003e,
                  D_261957180 ARRAY\u003cSTRING\u003e,
                  D_688123102 ARRAY\u003cSTRING\u003e,
                  D_356133766 ARRAY\u003cSTRING\u003e,
                  D_715827646 ARRAY\u003cSTRING\u003e,
                  D_643512687 ARRAY\u003cSTRING\u003e,
                  D_912659087 ARRAY\u003cSTRING\u003e,
                  provided STRING\u003e\u003e"
  }
]

You can see how convoluted the data structure is for these variables.
Let me know if you have any questions.

Ahh ok. Of course its grids causing this issue! Thanks for doing this. I'll test out my code again and let you know if I see any issues

Both now run! Thanks Jake


Scaffold Front End!

Use Tailwind to style it!
Remember these

Use Tailwind for styling!!!

I've got the initial set of cats for "cat 1" complete and Ive made them available on slack. I'm working on polishing them a little and then adding color and theme variations. Once the cats look real enough, I'll be starting on the openAI interactions. I chose to do it in that order for two reasons, one, to make the app look polished enough from the start, by giving the front end a custom graphics boost, and second, to give my team a chance to dig in a bit and agree on a project structure and choose what they wanted to work on before trying to force a space for the chat area to exist.
I feel that has set us up well to feel we have time to make the back end our main focus as we near the due date, rather than having to jump and scramble to polish the UI, plus, having some assets to build with from the start makes designing the UI easier.
Hopefully by early next week we will talking to the cat gpt!