Multiple language support?

I took a quick pass through the code but didn't see any references i18n.  Do you have plans to offer multiple language support for content?  Is this something that's better left as an exercise for the consumer?

Hi @paultyng  -
I haven't really put much thought into i18n specifically for content (added to the CMS by a user). I think the first step for any i18n would be for the hard-coded names for things in the CMS itself, like navigation, section titles, buttons etc.
My experience in this area is fairly limited, so any suggestions you have would be fantastic to hear. I currently don't have a plan for this.
I'm not sure there would be an elegant way to do i18n for the content a consumer ends up adding though, at least not in a way that would be 'automated' (i.e. generating a sibling field for adding content in different languages)
What do you think?

Adding it to the UI I think makes sense, and would be relatively straightforward with some of the existing libraries.  Below are some of my basic thoughts on the system, but I'm not sure its worth it, mainly I was curious if it was on your roadmap in the first place.
I'm not sure exactly what the ideal form would be for consumer content though.  In some internationalized systems I work with now, when a person creates/edits content in their language, its submitted for translation to some third party SaaS queue that handles managing translators and all that and then gets fed back in automatically when translated via like a webhook, although asynchronously and attached to the original record as an additional version of it.  Occasionally though the consumer knows multiple languages and can edit them both in real time in the UI.  One of the weird things is that the titles (and slugs) can change between languages and so forth, so it may just not make sense to add on to this system, I'm not sure as it would probably quite significantly affect the architecture.
If anything I could see changing the localizable fields to a new type that is something like map[LanguageTag]string for "translatable" resources / fields.  And then you just need the ability to specify the requested languages (typically a coalescing structure, of like chosen language, accepted languages, app default language) values when requesting it in the api (so you don't just return all languages to consumers unnecessarily).

Hi @paultyng -
Sorry for the delay in response.. I wanted to give this enough thought to offer some actionable feedback for you or anyone who might want to work on this feature. Lately, I've just been swamped with a client project that is about to launch.
I would imagine this could be best achieved through a new system package for i18n, containing a Translateable interface which when implemented would do a few things:

have a method to define the languages supported, which would in turn create a new bucket for each language, like MyType__translated__zh_CN, MyType__translated__en_US (if English is not the primary input language). This would look something like:

func (m *MyType) Translations() map[string]string{} {
        return map[string]string{
                "zh_CN": "Chinese (Simplified)",
                "en_US": "English (US)",
        }
}

create and register new API endpoints to return or add/edit a translation, i.e. /api/content/translated & /api/contents/translated which would mirror the various actions of /api/content but instead of changing or retrieving data in the main content buckets, it would do so on the bucket dictated by some query param in the URL.. for example, /api/content/translated?type=MyType&id=3&lang=zn_CN would return the results for a call to db.Content("MyType__translated_zn_CN:3"). Maybe these routes are registered in the init func, so they're only activated if this package is imported somewhere.

define some UI toggle in that would appear in the Editor or Manager for the MyType inside the CMS, which would return the same UI as seen currently, but would set some query param to tell the DB which language bucket to pull content from or to set content in. This would be similar to how the editor.Mergeable/api.Externalable interfaces impact the UI.

I'm sure I am missing some details, but I think this could be done without too much impact on the existing design.

awesome that this is being looked at...
The ponzu API for i18n looks like a good start.
Here is a golang lib for it. i did a fair bit of i18n and there is a huge amount to it once you dog deeper, so its important to choose your weapons well :)
https://github.com/corestoreio/csfw/tree/master/i18n

Has brought all the golang libs into one and covered ALL aspects for i18n

i18n is really important for ponzu to be viable CMS, I think.
I'm not a BoltDB expert but can't we have each content type have a root bucket and then sub-buckets for each language?

@MartinSotirov -
The bucket structure would be better suited to have the translations a sibling bucket rather than a child. The reason being, all of the Content APIs and Database APIs rely on this for fast lookups, and tend to favor quick iteration through a bucket to find a key.
The separation of these buckets would allow us to continue this pattern and choose a different language very easily just by issuing a param name to append to the DB lookup. See the system/db package, particularly content.go to see what I mean.

Hi all, no any updates about this request feature?
Best regards!

Hey @mordillo123 thanks for your question. The issue's labelled "help wanted" so remains on the radar, but like all open source, time resource is constrained. With this issue also, there are particular skills/experience re i18n needed, which is why - I would guess - there's been no movement.

I'll try to tackle this.
I'll create translation branch and do the work there. @nilslice If you'll have some time please review the code from time to time.
I'll post updates here so I wouldn't do something out of scope or make some breaking changes.
Wish me luck :)
Cheers

Thanks, @torniker - just a heads up, with the CI broken, we're not in a good spot to accept PRs. I'd ask that any incoming code include some cleanup of the CI so that the project is tested and built upon each PR. Once the CI is fixed, I'm happy to look through PRs.
Also, that is just my opinion, but the project is now under the ownership of apilayer.com via @julian-zehetmayr - who may have a more flexible policy on CI.


Error message while running typings bundle

Description
When running typings bundle -o mytest I'm getting the following error message:

typings ERR! message Unable to read typings for "q". The author of "MyLib" needs to check the entry paths in "package.json" are up to date
typings ERR! caused by ENOENT: no such file or directory, open '/Users/xxxx/git/mylib/node_modules/q/q.d.ts'
typings ERR! cwd /Users/xxxx/git/mylib
typings ERR! system Darwin 15.4.0
typings ERR! command "/Users/xxxx/.nvm/versions/node/v4.4.0/bin/node" "/Users/george/.nvm/versions/node/v4.4.0/bin/typings" "bundle" "-o" "mytest" "."
typings ERR! node -v v4.4.0
typings ERR! typings -v 0.7.12
typings ERR! If you need help, you may report this error at:
typings ERR!   https://github.com/typings/typings/issues

Versions
0.7.12

Bundling works the same as installing, just locally. Do you have a package.json with q defined but no type definition dependency for it?

My typings looks like this (and I ran typings install before):

{
"name": "MyLib",
"main": "lib/app.d.ts",
"version": false,
"ambientDependencies": {
"q": "registry:dt/q#0.0.0+20160323171452"
}
}

And this is how my package.json looks like:

{
"name": "my-lib",
"version": "0.0.1",
"description": "",
"main": "lib/app.js",
"license": "ISC",
"dependencies": {
"q": "1.4.1"
}
}

And compilation using tsc completes successfully.

It needs to be a dependency, not an ambient dependency.

By the way, using code blocks are much easier to read that blockquotes.
Aside from that, you should explain what you're trying to do, that way we can help figure out how to make it work for you.

Updated my comment to contain code blocks instead of quotes. Sorry about that.
If I add 'q' as a regular dependency my build fails with this error:

typings/main/definitions/q/index.d.ts(338,5): error TS2666: Exports and export assignments are not permitted in module augmentations.

In general, what are the rules regarding ambient dependencies and regular dependencies ? When should a dependency be added as an ambient dependency and when should it be added as a regular dependency ?
What I'm trying to do is very simple, I would like to create a d.ts file for my library during my build process so that it could be easily consumed by other libraries/services.
The typescript compiler already creates my d.ts files but I would like to bundle all of them into one that can be included in my distributables.

Please look through previous issues to answer your question. As for that q issue, you can't install the DefinitelyTyped definition is a dependency because it's already ambient.

For example, https://github.com/typings/typings/issues/278.


AK: Replace Unicode validation, conversion, and length computation with simdutf

We brought simdutf in with base64 transcodings. It also provides a wide range of Unicode utilities that we can easily use, and they are much more performant than our implementations.
There is still room on the table for more performance improvements, marked in the code as FIXMEs for now. The main reason these aren't as fast as they can be is that our Unicode views inject U+FFFD as a replacement character on invalid code points. So we have to check for validity and handle that case ourselves, as simdutf largely only works with valid encodings.
UTF-8 Benchmark

Benchmark code
static auto string = String::repeated("abc😀def"_string, 1'000'000).release_value();

BENCHMARK_CASE(bench_validate)
{
    for (size_t i = 0; i < 1'000; ++i)
        EXPECT(string.code_points().validate());
}

BENCHMARK_CASE(bench_length)
{
    for (size_t i = 0; i < 1'000; ++i)
        EXPECT_EQ(string.code_points().length(), 7'000'000u);
}

Validation
Length

AK
9.145s
4.698s

simdutf
0.460s
0.582s

20x faster
8x faster

UTF-16 Benchmark

Benchmark code
static Vector<u32> to_utf32(String const& string)
{
    Vector<u32> code_points;
    for (auto code_point : string.code_points())
        code_points.append(code_point);
    return code_points;
}

static auto utf8_string = String::repeated("abc😀def"_string, 1'000'000).release_value();
static auto utf16_string = AK::utf8_to_utf16(utf8_string).release_value();
static auto utf32_string = to_utf32(utf8_string);

BENCHMARK_CASE(bench_validate)
{
    for (size_t i = 0; i < 1'000; ++i)
        EXPECT(Utf16View { utf16_string }.validate());
}

BENCHMARK_CASE(bench_length)
{
    for (size_t i = 0; i < 1'000; ++i)
        EXPECT_EQ(Utf16View { utf16_string }.length_in_code_points(), 7'000'000u);
}

BENCHMARK_CASE(bench_utf16_to_utf8)
{
    for (size_t i = 0; i < 100; ++i)
        MUST(Utf16View { utf16_string }.to_utf8());
}

BENCHMARK_CASE(bench_utf8_to_utf16)
{
    for (size_t i = 0; i < 100; ++i)
        MUST(AK::utf8_to_utf16(utf8_string));
}

BENCHMARK_CASE(bench_utf32_to_utf16)
{
    for (size_t i = 0; i < 100; ++i)
        MUST(AK::utf32_to_utf16({ utf32_string.data(), utf32_string.size() }));
}

Validation
Length
To UTF-8
From UTF-8
From UTF-32

AK
3.549s
8.624s
5.323s
3.899s
2.158s

simdutf
0.263s
0.576s
0.550s
0.663s
0.594s

13x faster
15x faster
10x faster
6x faster
4x faster

The ASAN error is in this test-js test in builtins/Array/Array.prototype.flat.js
test("Issue #9317, stack overflow in flatten_into_array from flat call", () => {
    var a = [];
    a[0] = a;
    expect(() => {
        a.flat(3893232121);
    }).toThrowWithMessage(InternalError, "Call stack size limit exceeded");
});

We seem to be hitting ASAN's stack overflow just before that test reaches the VM's stack limit (we would throw the InternalError once we reach 32k free, we have 33.5 free when ASAN aborts).


Implement DRM backend

The Linux Framebuffer Device (fbdev) is an older graphics interface in Linux, serving as a simple abstraction for a display framebuffer in memory. However, it offers limited functionality compared to DRM (Direct Rendering Manager).
In contrast, DRM provides a unified and consistent API for managing graphics devices, including support for multiple displays and GPUs. It allows for advanced display configuration, such as setting resolution, color depth, and other display modes.
Check also https://github.com/sysprog21/mado/issues/3

Can I take on this issue?

Can I take on this issue?

Go ahead.

I would also like to help solve this issue.

I would also like to help solve this issue.

To proceed, start with the Linux framebuffer backend. For example, build Mado on a Raspberry Pi and run it without the X Window System. You may encounter some unexpected behavior, which will provide an opportunity to make your own contributions. Later, when working with the DRM/KMS driver, you can build on the knowledge gained from the Linux framebuffer backend.

drmu contains several nice programs for using DRM.


aws-cpp-sdk-core-tests HttpClientTest.TestNullResponse fails

What platform/OS are you using?
amazonlinux docker container
Linux version 4.9.125-linuxkit (root@659b6d51c354) (gcc version 6.4.0 (Alpine 6.4.0) ) #1 SMP Fri Sep 7 08:20:28 UTC 2018
What compiler are you using? what version?
g++ (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
What's your CMake arguments?
bash-4.2# cmake ..
-- TARGET_ARCH not specified; inferring host OS to be platform compilation target
-- Building AWS libraries as shared objects
-- Generating linux build config
-- Building project version: 1.7.38
-- Configuring done
-- Generating done
-- Build files have been written to: /home/aws-sdk-cpp/sdk_build/.deps
[ 33%] Built target AwsCCommon
[ 66%] Built target AwsChecksums
[100%] Built target AwsCEventStream
-- Third-party dependencies are installed at: /home/aws-sdk-cpp/sdk_build/.deps/install
--   Zlib include directory: /usr/include
--   Zlib library: /usr/lib64/libz.so
-- Encryption: Openssl
--   Openssl include directory: /usr/include
--   Openssl library: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so
-- Http client: Curl
--   Curl include directory: /usr/include
--   Curl library: /usr/lib64/libcurl.so
-- Considering sqs
-- Updating version info to 1.7.38
-- Custom memory management enabled; stl objects now using custom allocators
-- Configuring done
-- Generating done
-- Build files have been written to: /home/aws-sdk-cpp/sdk_build
Can you provide a TRACE level log? (sanitize any sensitive information)
[ RUN      ] HttpClientTest.TestNullResponse
/home/aws-sdk-cpp/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp:30: Failure
Expected equality of these values:
nullptr
Which is: 8-byte object <00-00 00-00 00-00 00-00>
response
Which is: 16-byte object <F0-07 6E-01 00-00 00-00 E0-07 6E-01 00-00 00-00>
[  FAILED  ] HttpClientTest.TestNullResponse (107 ms)

This was happening to me as well while trying to build it in a docker image. I didn't have a VPN client readily available.
My fix was changing the default DNS on my Mac from my ISP's to google's public DNS @ <IP_ADDRESS>


Fix Cannot read property 'fixed' of undefined

Fixes #9285 (and a previous thesis that was wrong: https://github.com/CartoDB/cartodb/pull/9152#discussion_r72478756)
The problem was that the style-properties-form/style-shape-properties-form-model.js is given a reference to the original fill object from default-cartography object, so by deleting the prop of course it modified the original size prop which is used in various places.
I've done the quick fix, because fixing the root problem will require more severe changes, basically avoiding passing objects by reference to prevent this kind of bugs.
@xavijam please review

cc @CartoDB/frontend in order to have you notified of the problem and the cause 💋
And 🚢 🇮🇹

Like I mentioned, this is the quick fix, created a separate issue #9293 for further discussion/changes.

Thanks @viddo.

Frontend tests passing, merge :)


libjpeg_turbo: <IP_ADDRESS> -> 3.0.2

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[x] 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.05 Release Notes (or backporting 23.05 and 23.11 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

[x] Fits CONTRIBUTING.md.

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

This overlaps with PR https://github.com/NixOS/nixpkgs/pull/248969 but that's not really an issue.

Generally I assume it will be OK to try 3.0.x.

I've confirmed that graphicsmagick (mentioned as a problem in the other PR) is fine now.


Flash of interactive window if Jupyter is not installed

Issue Type: Bug
Repro

On a machine with python but without Jupyter
Open a python file
Use the Run current file in interactive window

Bug
The interactive window appears for half a second then closes itself! Then a notification appears telling me to install Jupyter
This flash of interactive window makes it look like the window has crashed. Instead:

Just show the notification
Or show the error in the interactive window itself

Extension version: 2020.4.67630-dev
VS Code version: Code - Insiders 1.44.0-insider (ef75c4bb445e5021065cf0012cfa2c66e55bfa16, 2020-03-11T09:09:04.033Z)
OS version: Darwin x64 19.3.0

Thanks, sounds like a good idea. We should skip the show call on the webview until we determine we can start Jupyter.


Not all corp members assigned generic corp member group

Hi, first of all thanks for creating this plugin. Warlof told me that this plugin is required to ensure I can continue to use the discord connector plugin since a recent update of eveseat to v3.0.8.
I'm trying to get all members of my corporation to be added to a group called 'corp members' automatically. It works for the most part, but not everyone is getting assigned to this group some are, some aren't and I'm not sure why. Here's a picture of what I have in my seat-group settings...

I don't appear to get any errors. I don't suppose you could help with this could you?

Hey @geedon,
Thank you for reaching out. Have you checked the log entries for SeAT-Group on the about page? There should be an event-log (with a result) per User-group.  This should look like this:

Does this help you solve your issues?

Hi and thanks for the quick response! I see no entries for the people in question, who I would expect this missing group associated. I do see a couple of repeated warnings for missing refresh tokens but these are valid as the members just left corp.
BTW I am on version 1.3.4 same as your screenshot
Thanks again!

Hey,
there are two things you could try:

enable debug and try to manually sync the character in question with php artisan seat-groups:users:update --character_ids=ID. Then you might forward me the logging results from this job.
Join seat-slack and i might be of assistance more directly then via github ticket: https://eveseat-slack.herokuapp.com/

Hi, interestingly when I ran the command manually...
php artisan seat-groups:users:update --character_ids=2112534214
He got his group, but there were previously no errors or success entries for this guy when it ran automatically via the scheduled tasks. Even when I Manually executed the schedule with ...
php artisan seat-groups:users:update
..there were no entries in the log
My corp is quite large 200+ and I've had issues in the past with other plugins related to this. Might there be some limitations?
Thanks again for your time!

Did you restart supervisor or the seat-worker container if you use docker after installing version 1.3.4?
thanks to @warlof we improved the group dispatcher in the latest update and without restarting either of those two the workers might still have old code loaded.

Thanks for the extra info. But some peeps have main chars and still are missing the default group...

But I see entries in the logs from just a few minutes ago...

The user group of Treava Crendraven (Treava Crendraven) has successfully been synced.
The user group of Saeko Vodkarage (Saeko Vodkarage) has successfully been synced.
The user group of grisee whenne (grisee whenne) has successfully been synced.

Not entirely sure what you mean by this comment...
"This and running old (prior 1.3.4) SyncGroup job in the workers has caused 100% your issues."
Can I assume, as I'm running Version 1.3.5, that this isn't an issue? or do I need to do some kind of artisan update? I'm a little new to this framework TBH.
'

Best if you hop on to slack and we can further discuss: https://eveseat-slack.herokuapp.com/

As it turned out, the package was working within parameters. The named users were not qualified for the user-group as they were still in a NPC corporation.
I take this support issue to slack and close this issue as it is no technical defect.


Add JSON encoding support for ObjectId

Problem
While trying to use
List<ObjectId> objectIdList = [...];
jsonEncode(objectIdList);

, throw an exception:

Converting object to an encodable object failed: Instance of 'ObjectId'

Solution
Add tojson and fromjson function

Hi @ganwumeng, the ObjectId.fromJson(json) constructor (alias for ObjectId.fromHexString(hexString)) and the toJson() method were added in version 3.1.0.


App Crash

[ENVIRONMENT]
Python Version: 3.8.10
Operating System: Linux
[TEST-CASE]
Traceback (most recent call last):
File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/kali/Remote-Keylogger/./main.py", line 41, in
base_path: str | bytes = split(p=file)[0]
TypeError: unsupported operand type(s) for |: 'type' and 'type'

We fixed this error by modifying the line 41:
Before > base_path: str | bytes = split(p=file)[0]
After > base_path = split(p=file)[0]
This error occurs on only python 3.9 and below.

[ENVIRONMENT]
Python Version: 3.8.10
Operating System: Windows
[TEST-CASE]
Traceback (most recent call last):
File "C:\Program Files\Python38-32\lib\runpy.py", line 194, in run_module_as
main
return _run_code(code, main_globals, None,
File "C:\Program Files\Python38-32\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\USER\Downloads\Remote-Keylogger-main._main.py", line 60, i
n
app: None | Tk = None
TypeError: unsupported operand type(s) for |: 'NoneType' and 'type'

We fixed this error by modifying the line 60:
Before > app: None | Tk = None
After > app = None
This error occurs on only python version 3.9 and below.


Tag should remain after rollback [CORE-2946]

Fixes https://liquibase.jira.com/browse/CORE-2946, making behavior of liquibase more consistent and predictable - rollback to tag behavior does not depend on whether the tag is isolated in it's own changeset or not. This also mirrors the behavior of updateToTag, so that updating to a tag, and rolling back to that tag, both have identical results.
┆Issue is synchronized with this Jira Story by Unito

@philomory
Thanks for your pull request!
Here’s what happens next:
A member of the Liquibase team will take a look at your contribution and may suggest:

Changes based on guidelines for PR submission
Additional tests (unit and/or integration)
Provide other feedback, like requesting changes.

The PR will be prioritized according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.

Hi @philomory ,
Would you be up for adding some tests for this change?  I will size at a medium for now but can drop it down to a Low to get merged in faster if I see you commit tests before we start on 4.0 Beta 2.
Thanks!
Ronak

This is handling the case where someone has a changelog with:
<changeSet id="1" author="test">
   <tagDatabase tag="my_tag">
</changeSet>

which is a different way of tagging the database than with liquibase tag my_tag
The difference in behavior happens because liquibase tag tags the last changeSet in the database and is done, whereas the tagDatabase inside a changeSet will tag the last changeset in the database and THEN create a new datbasechangelog entry saying changeset 1::test was executed.
The difference ends up being that what is tagged is different in the two cases and people want different things. https://liquibase.jira.com/browse/CORE-2815 was opened and fixed based on one way people see it working and this PR undoes that fix based on a different use case.
We need to put a bit more thought into exactly how the tagDatabase command works and whether (or if) it should be tagging the changeSet it is in or the changeSet after or if it should be a configurable thing in the tagDatabase tag or something.


One-to-One relationship causes stack size exceeded

Here's a reproduction in a simple ember app
There are two models - organization and subscription, that have a 1-1 belongsTo relationship. When Mirage tries to load the organization model as a result of the schema.organizations.all() call, the maximum stack size exceeded error occurs.
When I last dug into this, it appeared the problem was related to the model get and set methods in belongsTo.js.  In my basic understanding, when the model is being created, within _setupRelationships, setting the model calls inversesAlreadyAssociated, which results in a call to getting the model, which in turn calls find on the model in this line:
model = association.schema[toCollectionName(association.modelName)].find(foreignKeyId);

I've created a twitter here: https://ember-twiddle.com/072de99410f21ff42db8264bd9665ca3?openFiles=mirage.factories.user.js%2C

I've created a Twiddle that shows the error in the javascript console here: https://ember-twiddle.com/59cc935d15d813e36e8d03a7145649e6?openFiles=mirage.factories.user.js%2C

We tracked it down to these lines, looks like it's a bug with the Model.update method.
_definePlainAttribute is being called for every key in the object passed to update, but it should be skipped if a key is a relationship (which would be known ahead of time, since relationships are defined on the model). So this code just need to have an if statement to skip definePlainAttribute for relationship keys.
Would love for someone to PR this change with a test, should be relatively straightforward!


Inconsistency with users card on the dashboard

On the dashboard, the card shows that there are 5 users.

But actually, there are 9 users consisting of 5 students and 4 admins.

When you click on "View all users", it takes you to users page, listing all the students.
This is a minor language issue. Should we replace strings like "Users" and "View all users" with "Students" and "View all students"?

@NikhilM98 here view all users should mean for teachers and students not admin . Since teacher API is not built as of now view all users leading to students should be expected behavior . View all users feels correct as of now but when teacher will included then view all students and view all teachers will make sense .

Students still seem more correct.
Let's wait for the feedback from other contributors. What do you think @Anshuman71 @SomtochiAma?

@NikhilM98, yes I also think it should show what it is. So >Students seems to be the key here. @ashish0910, Teachers API is not yet built but it is to be build and In my opinion, it won't affect the things are working and will work.
Please, give your thoughts on that.

I agree with @NikhilM98  on this. It is a small UX issue to avoid confusion, Students is much better.

Yes it's true it should be "students" instead of "users".


Image optimizations

Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[x] Other

Checklist

[ ] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
Reduces image file sizes.
Details: https://github.com/wizard-28/rich/pull/2

Please exclude assets dir which includes the originals.

@willmcgugan done!

Thanks

Codecov Report

Merging #1956 (d369ba5) into master (e839bfb) will decrease coverage by 0.01%.
The diff coverage is 99.08%.

@@            Coverage Diff             @@
##           master    #1956      +/-   ##
==========================================
- Coverage   99.82%   99.81%   -0.02%
==========================================
  Files          71       71
  Lines        6943     7043     +100
==========================================
+ Hits         6931     7030      +99
- Misses         12       13       +1

Flag
Coverage Δ

unittests
99.81% <99.08%> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

rich/default_styles.py
100.00% <ø> (ø)

rich/highlighter.py
100.00% <ø> (ø)

rich/markdown.py
100.00% <ø> (ø)

rich/syntax.py
99.27% <97.72%> (-0.34%)
:arrow_down:

rich/pretty.py
99.71% <98.88%> (-0.29%)
:arrow_down:

rich/__main__.py
100.00% <100.00%> (ø)

rich/_inspect.py
100.00% <100.00%> (ø)

rich/color.py
100.00% <100.00%> (ø)

rich/console.py
100.00% <100.00%> (ø)

rich/markup.py
100.00% <100.00%> (ø)

... and 5 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 a6ea989...d369ba5. Read the comment docs.

@willmcgugan, this isn't merged.


[SSL: TLSV1_ALERT_INTERNAL_ERROR

https://drmstreaming.sonyliv.net/DASH/cc9365a9-7e6c-4e8a-b967-0a6234ec013e/WWE_SMACKDOWN_MULTI_HLS_20210731T021800.mpd

IGNORING THE ISSUE TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
The server is rejecting your request and there is nothing I can do about it. You can check that the URL does not open in browser
This is DRM protected content. So we will not provide any further help for it


const fn wherever possible

This is a follow-up to #545. It adds const fn everywhere possible.
We need to keep in mind that future refactorings might need to drop the const. This is considered fine as we do not require things to be const. In our case, it mainly helps to know if there will be side effects or not.
Checklist

[ ] Sensible git history (for example, squash "typo" or "fix" commits). See the Rewriting History guide for help.
[ ] Update the changelog (if necessary)

Looks like a few of these can't be const yet with our current msrv

Looks like a few of these can't be const yet with our current msrv

I updated the PR. MSRV should no longer be required.


refactor: use zustand's persist middleware to store data on local storage

Refactor Request
** discord username: umut#3072 **
We shouldn't need to work with local storage inside components
Suggested solution
Use zustand persist middleware so we can add the code to work with local storage over there.
Related Issues
#917
#893
cc @puskuruk can you please post the links you have.

https://github.com/pmndrs/zustand/blob/main/docs/integrations/persisting-store-data.md
For further contributions, this documentation needs to be checked over.

Note for the github team because of my discord username has the same id here (0919) whenever i opened a new issue there will be tagged here. Maybe we should consider to review issue template. Sorry for disturbance 😞


[Backend] Join Us DELETE using Cron Job API

Deliverable-

[ ] we need a cron job for deleting the join us form data from db periodically after 60days

Note- Make the cron job reusable as we will need it for other apis

Hi @Kajol-Kumari , can i work on this one please

@naveen8801 sure..please go ahead with this issue :)


Remove unused assets

Added a new yarn command 'unused-assets' which lists what it thinks are unused assets
Deleted those and ran the code generator

Everything seems to run ok, ran mobile and desktop

Updated one code path which used dynamically generated icon names (which we should avoid anyways)

@keybase/react-hackers

The commits 30b8fa9c6cba...af8a3e13c7ed introduce visual changes on linux. :mag_right: 1 changed

Changed: Icon-Icon_Image (before) (after)

The commits 30b8fa9c6cba...b3653dc05442 introduce visual changes on linux. :mag_right: 1 changed

Changed: Icon-Icon_Image (before) (after)


Fix FlexCI Linux tests

Linux tests were not caching ccache/kernel binaries correctly.
Fixes the branch tests to test full matrix, like as done in FlexCI Windows tests.

/test

From the full log, I confirmed that pull-request ID is passed as expected.
++ [[ 5505 == '' ]]
++ export CUPY_TEST_FULL_COMBINATION=0
++ CUPY_TEST_FULL_COMBINATION=0

Let me self merge this to reduce test duration.

Test for master branch running: https://ci.preferred.jp/cupy.linux.cuda114/75345/

Cache generated in the above test.
Now cache is reused correctly, test duration reduced from 2 hours to 54 minutes 😄
https://ci.preferred.jp/cupy.linux.cuda114/75371/


Add docs for UC OSS for function calling

PR Checklist

[X] A description of the changes is added to the description of this PR.
[ ] If there is a related issue, make sure it is linked to this PR.
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added or modified a feature, documentation in docs is updated

Description of changes
Adds docs and guides for UnityCatalog OSS AI function integration

@BenWilson2  Not related to this PR, but in case we forget, https://github.com/unitycatalog/unitycatalog/blob/main/ai/core/README.md needs to be updated as well :D


Update development branch for control_msgs in Galactic

It appears that this package was released out of a new branch but rosdistro wasn't updated.
https://github.com/ros-controls/control_msgs/tree/galactic-devel
FYI @bmagyar.

Nice catch, thanks!

@cottsay should we move forward with this?

cottsay should we move forward with this?

Yes, please.


Add zoomToFeatures option

This PR adds a new option zoomToFeatures which allows to set the extent of the map according to the features of a layer.
Example:
{
  "attributes": {
    "mapDef": {
      "center": [100, -0.5],
      "scale": 1000000,
      "zoomToFeatures": {
        "zoomType": "extent",
        "minScale": 1000000
      },
      "layers": [
        {
          "type": "geojson",
          "style": "point",
          "renderAsSvg": true,
          "geoJson":   ...
        }
      ]
    }
  }
}

This sets the extent of the map so that all features of all layers (or of one specific layer) are visible, using a default margin of 10 pixels. The margin can be changed by setting the minMargin property. To avoid over-zooming the minScale is set to 1000000 in this example.

I never remember but is it possible to put the zoomToFeatures in tha yaml file ?

You should be able to set it in the default property, like in this example.

Thanks, for me that looks good :-)


Dialogs workspace updates

Make commands more generic and not project specific because we're adding open workspace as an option
Add option to open workspace to the open dialog (still waiting on icons from UX)

Add workspace that will be created/the project will be added to the dialog so the user knows

the commit history is a bit messed up, did you reuse an old branch?

@alanrenmsft yeah I originally created this branch off of the createWorkspace branch before it was checked in. I forgot to rebase after that got checked in :/

added the string changes to https://github.com/microsoft/azuredatastudio/pull/13022 since this PR already got merged


Say that Windows Server 1809 also works with Docker 19.03

Sowmya had a question about this and I confirmed it with Logan. Docker 19.03 is fine to use with Windows Server 1809, so I have updated the Windows requirements to reflect this.

We also need to update this page: https://rancher.com/docs/rancher/v2.x/en/installation/requirements/

Updated the installation requirements page


maintenance?

Is this package being maintained, developed? seems it got stuck in version 0.1.0

hey @theArianit
sorry for such a big delay in my response.
Unfortunately, I'm not able to maintain scalio projects anymore. Also, I have doubts that anyone in the team will do it either.


Groundstation Integration

Groundstation Communications Layer
Data/messaging framework
SatNogs support

Closed by https://kubostech.atlassian.net/browse/KUBOS-93


missing a using directive or an assembly reference

Environment data
dotnet --info output:
VS Code version:
C# Extension version:
OmniSharp log
Steps to reproduce
Expected  behavior
Actual behavior

When running C#, using System.Collections, receive error:
Program.cs(14,10): error CS0246: The type or namespace name 'Hashtable' could not be found (are you missing a using directive or an assembly reference?) [C:\wamp<IP_ADDRESS>\www\knowledge\Library\EMPLOYMENT\REVATURE\20210927-COURSE\C-Sharp\hashTable\hashTable.csproj]
Program.cs(14,29): error CS0246: The type or namespace name 'Hashtable' could not be found (are you missing a using directive or an assembly reference?) [C:\wamp<IP_ADDRESS>\www\knowledge\Library\EMPLOYMENT\REVATURE\20210927-COURSE\C-Sharp\hashTable\hashTable.csproj]
Can you please provide a solution.

Judging by that file path and how recent your profile is, I'm guessing you're still a beginner in C# and/or are taking a course teaching it. Therefore, you should first ask whoever your teacher/instructor is, and then search on google/stackoverflow for problems similar to your own. If you're still having issues with it, I'd very strongly encourage you to join the official C# discord, you'll find many great ressources and people willing to help you.
As for specific error, you probably just forgot using System.Collections; at the top of your file ; if that's not it it's probably a problem with your setup/sdk installation

Unfortunately this is not actionable. If you have a problem with the extension, please open an issue where you provide all the data requested by the issue template. Thanks.


Save as .png from GUI?

Hi,
first off: great tool. For someone without knowledge in coding cellpose seems magic.
Would it be possible to add some save/export options to the GUI? e.g. as PNG? I have struggled with opening the .npy files. I have tried opening xxx_seg.npy in ImagePy and it gives me an error: "ValueError: not enough values to unpack (expected 2, got 0)"
My end goal is to use the cellpose masks for creating ROIs in imagej/fiji
Best,
Philipp

Glad you like the tool! I've added this option to the GUI (see in the File menu). Please pip install cellpose --upgrade. I am going to close this issue for now, but please reopen it if this is still an issue.


Bouabidi

Description:
Add: interaktives Modul mit SimpleWebrtc für Kurze.
geli/app/webFrontend/src/app/course/course-detail/live-view/

Pull Request Test Coverage Report for Build 2805

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 75.239%

Totals

Change from base Build 2802:
1.2%

Covered Lines:
1737

Relevant Lines:
2233

💛  - Coveralls

#828


Add ExternalAccount export in the admin interface.

Coverage increased (+0.01%) to 90.687% when pulling<PHONE_NUMBER>e34391414809703a9e2308daf00d93 on akatsoulas:userprofiles-export into 993e29e4ab31e11e8e9f0167b1acdf110fd8a1f0 on mozilla:master.


Support installing via PYTHONPATH

Attempting to insert an isofit directory into $PYTHONPATH and then using it will raise a importlib.metadata.PackageNotFoundError exception. This is due to a missing isofit.egg-info/ which would contain package information that's normally created at install.
No formal install => no package info => exception
Ideally, just try/except the version in isofit/__init__.py

I believe the root cause has been addressed in  #422. I am working on integrating tests for a $PYTHONPATH installation into the CI system in #452.

Resolved.


[portaudio] Add JACK and ASIO backend support

Is your feature request related to a problem? Please describe.
This feature is not related to any problem, but it is related to efforts to upstream Tenacity's legacy vcpkg fork. In this port is a custom PortAudio port that has two features: jack and asio, which enable the respective backends. By implementing new port features or changes, we can enable JACK by default and introduce a new port feature to allow projects to easily enable ASIO.
I'm aware that you need to provide an ASIO SDK in vcpkg/buildtrees/portaudio/src to get ASIO automatically built, as according to: https://github.com/microsoft/vcpkg/blob/86fba13068f1e8111e7d885de2aef11378435139/ports/portaudio/portfile.cmake#L14
Alternatively, PortAudio can automatically download the source as well, which might be slightly more convenient, although that requires CMake 3.18 or later. This can be done if the asio feature is enabled and we have CMake 3.18 or later.
Proposed solution
My proposed solution is simply adding new port features for jack and asio to enable the respective backends. ASIO would be disabled by default due to licensing restrictions while jack would be enabled by default.
Describe alternatives you've considered
Alternatively, for enabling JACK, we can simply modify the port to also depend on jack2 and other appropriate dependencies (i.e., tre for windows | mingw and pthread for windows) and always enable the JACK backend. This might be a more sensible option since PortAudio's JACK backend should work across Windows, macOS, and Linux.
For ASIO, I do not see any other alternative due to licensing restrictions.
Additional context
There is this issue from tenacity-legacy related to getting JACK working on Windows. I believe it was possible and probably happened at one point, but nowadays this isn't possible with modern Tenacity.
The whole intention of making this issue is to discuss a) whether these changes should be implemented, and b) how they should be implemented. I intend to open a PR once we have all of this discussed should we decide to proceed.

Just for reference, mixxxdj has also an overlay port of portaudio with some additional patches: https://github.com/mixxxdj/vcpkg/tree/2.5/overlay/ports/portaudio

@generic-pers0n
About Jack and ASIO:
I agree that adding new port features (such as jack and asio) to PortAudio to support the corresponding backends. Enabling JACK as the default configuration is a good choice because it works well on multiple platforms (Windows, macOS, Linux).
It is also reasonable to disable ASIO by default because of its license restrictions. We can decide whether to automatically compile the ASIO backend based on whether the user provides the ASIO SDK.
Automatic download of ASIO:
If using CMake 3.18 or higher, allowing automatic download of ASIO source code can indeed provide convenience to users. I think this is an improvement point worth exploring, and you can check the CMake version when the asio feature is enabled and choose whether to download it based on the version.

ASIO SDK is already a VCPKG port: https://github.com/microsoft/vcpkg/tree/master/ports/asiosdk
It should be a dependency for the Windows specific port feature 'asiosdk':
"asiosdk": {
     "description": "Build with Steinberg ASIO SDK support",
     "supports": "windows",
     "dependencies": [
       {
         "name": "asiosdk"
       }
     ]
   }

ASIO SDK is already a VCPKG port: https://github.com/microsoft/vcpkg/tree/master/ports/asiosdk

I didn't realize ASIO was already a port. That'll be even more convenient!
I'll make a PR soon with the proposed changes. We'll see how that goes!

Looking into the matter, for JACK at least, it looks like that JACK is only available on UNIX-based/UNIX-like sysetms (i.e., macOS, Linux, etc). It won't be until v19.8 that we will be able to enable this backend by default for Windows.
There is also a similar case with ASIO, as the PortAudio 19.7 source will not auto-download it. However, we can use the asiosdk port as mentioned earlier. I'll figure out how to do that.

PortAudio supports JACK also on Windows. At least Git HEAD of PortAudio - might be that this feature was added after last PortAudio release.

PortAudio supports JACK also on Windows. At least Git HEAD of PortAudio - might be that this feature was added after last PortAudio release.

Indeed they do, but it was added after the latest PortAudio release.


Yatin: Watch sparity.com

Yatin requests the watch of the watch_keyword sparity\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

sparity\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by double-beep in Charcoal HQ


docs: fix keda links

Changelog

small fix to point docs to keda-overview page

@Nickomang
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#assign:schaffererin

#assign-reviewer:schaffererin

#sign-off

Hi, @Jak-MS, this is good for sign off!

taking approval from @schaffererin as sign off.


[SR-16121] Increasingly excessive memory requirements for linking on Linux

Environment
$ sw_vers
ProductName:    macOS
ProductVersion: 12.3.1
BuildVersion:   21E258
$ xcodebuild -version
Xcode 13.3.1
Build version 13E500a
$ docker --version
Docker version 20.10.14, build a224086

Description
With each subsequent release of Swift, more and more available RAM is required to link Swift executables on Linux. The addition of the recommended --static-swift-stdlib build flag on Linux (not to mention the accepted evolution proposal to make this the default, SE-0342) exacerbates the issue to the point where 4GB is not enough RAM to successfully link an unmodified Vapor template app (the following snippet assumes the vapor Homebrew formula is installed):
$ docker system info
<snip>
 Kernel Version: 5.10.104-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 3.826GiB
<snip>
$ vapor new testmem
Cloning template...
name: testmem
Would you like to use Fluent? (--fluent/--no-fluent)
y/n> y
fluent: Yes
db: Postgres (Recommended)
Would you like to use Leaf? (--leaf/--no-leaf)
y/n> n
leaf: No
<snip>
$ cd testmem/
testmem$ docker build .
[+] Building 123.6s (17/23)
<snip>
 => ERROR [build  7/12] RUN swift build -c release --static-swift-stdlib                                              89.3s
------
 > [build  7/12] RUN swift build -c release --static-swift-stdlib:
#17 0.878 Building for production...
#17 0.970 remark: Incremental compilation has been disabled: it is not compatible with whole module optimizationremark: Incremental compilation has been disabled: it is not compatible with whole module optimizationremark: Incremental compilation has been disabled: it is not compatible with whole module optimizationremark: Incremental compilation has been disabled: it is not compatible with whole module optimization[1/867] Compiling _NIODataStructures Heap.swift
#17 1.561 remark: Incremental compilation has been disabled: it is not compatible with whole module optimization[3/869] Compiling COperatingSystem Exports.swift
<snip>
#17 58.78 [931/932] Compiling AsyncHTTPClient HTTPClient+execute.swift
#17 58.80 remark: Incremental compilation has been disabled: it is not compatible with whole module optimization[933/934] Compiling Vapor Application.swift
#17 74.23 remark: Incremental compilation has been disabled: it is not compatible with whole module optimization[935/936] Compiling Fluent FluentProvider+Concurrency.swift
#17 75.22 remark: Incremental compilation has been disabled: it is not compatible with whole module optimization[937/938] Compiling App TodoController.swift
#17 76.49 remark: Incremental compilation has been disabled: it is not compatible with whole module optimization[939/940] Compiling Run main.swift
#17 89.04 error: link command failed with exit code 254 (use -v to see invocation)
#17 89.04 clang-13: error: unable to execute command: Killed
#17 89.04 clang-13: error: linker command failed due to signal (use -v to see invocation)
#17 89.11 [940/941] Linking Run
------
executor failed running [/bin/sh -c swift build -c release --static-swift-stdlib]: exit code: 1
$

Note: Issue content cleaned up from original Jira import.
Detail from JIRA

Data
Value

Previous ID
SR-16121

Radar
None

Original Reporter
@gwynne

Type
Bug

Votes
0

Component/s
Compiler, Source Tooling

Labels
Bug, Linux

Assignee
None

Priority
Medium

md5: 05c2ceaa59cb789e6c5b9eabe39cb06a

Here is a build log from a user who was attempting to build on DigitalOcean’s App Platform: build_log_out_of_memory.txt

Can you check what the size of the linker inputs is? If this is a regression, can you reproduce a working environment and compare the sizes?

I managed to reproduce the memory usage. In my case, the link step would use 11Gb of memory.
Finding the size of the inputs is not trivial given how hidden the build itself is. With some effort I extracted the link line. The linker is taking only one argument which is a response file. In the invocation that was created in my case, the response file contains over 18000 arguments, most of them object files and libraries.
The link line has this structure:
ld.gold [...] -o /output/file [...] -Lxxx -Lyyy [...] --start-group  <all object files and libraries to link>  --end-group

It turns out the all object files and libraries to link is around 18000 items. Even though the template app is not small, it doesn't link 18000 files and libraries. It turns out the libraries have thousands of duplicates. For example -lswiftCore is passed 1058 times.
Manually deduplicating the response file, you can get it down to less than 2000 arguments. Using this new response file, it links way faster and used 500Mb of memory.
It seems like SwiftPM should not add duplicate libraries inside of the --start-group --end-group. Because of the link group, this shouldn't change the semantics (or at the very least, not cause any unresolved symbol errors).

interesting find, thanks allot @fredriss
@abertelrud @neonichu thoughts?

this may actually be happening in driver and not SwiftPM. @artemcm?

In the above code-block inputs comes from build-planning and consists of largely the build's own Object files. One exception to which seems to be .autolink jobs' outputs which are producing a response file.
I can see a scenario where we expand this response file (to generate a different, top-level linker response file?) and its contents get us all of the duplicated -l flags. I'll need to grab a Linux box and take a look.

Reproduced this with a Swift 5.6.1 toolchain on a test Vapor project on Ubuntu 20.04.
I can see that the linker invocation gets passed as input:
/home/ac/Vapor/toolbox/testmem/.build/x86_64-unknown-linux-gnu/release/App.build/Controllers/Run.autolink

Which contains, for example, 1057 occurrences of -lswiftCore:
grep -o 'swiftCore' /home/ac/Vapor/toolbox/testmem/.build/x86_64-unknown-linux-gnu/release/App.build/Controllers/Run.autolink | wc -l
1057

According to the log, this file is produced by an swift-autolink-extract invocation slightly earlier:
/home/ac/SwiftToolchain/swift-5.6.1-RELEASE-ubuntu20.04/usr/bin/swift-autolink-extract /home/ac/Vapor/toolbox/testmem/.build/x86_64-unknown-linux-gnu/release/Run.build/main.swift.o -o /home/ac/Vapor/toolbox/testmem/.build/x86_64-unknown-linux-gnu/release/Run.build/Run.autolink

But, the interesting part is that when I manually run this exact swift-autolink-extract command, I get a result with just 17 entries (which I think is the correct # we expect without any duplication). So we need to figure out why this same command produces a result that duplicates output 1057 times when run as part of the build.

Ah, no, I misread the log. The autolink-extract invocation above that produces 17 results is not the one whose result gets used: release/Run.build/Run.autolink, whereas the one with so many entries is release/App.build/Controllers/Run.autolink. The latter (problematic) response file is produced by a different extract invocation in the build:
/home/ac/SwiftToolchain/swift-5.6.1-RELEASE-ubuntu20.04/usr/bin/swift-autolink-extract @/tmp/TemporaryDirectory.4s9CLu/arguments-3872688424222014945.resp

The inputs to this invocation are all object files involved in the build, of which there are 1927. And this is the invocation that consistently outputs an absurd output response file. My guess is that swift-autolink-extract just isn't deduplicating its output across all of its inputs. So when we have this many inputs, we get this scenario.
The solution here is to teach swift-autolink-extract to deduplicate its output across inputs.

Would also be nice if we could teach the linker to deduplicate its inputs a bit.

(We don't control the Linux linker, but even if we did:) Technically the linker cannot deduplicate. The order of inputs is significant and putting a library twice in non-consecutive spots has a certain meaning, even inside of a group.

In my experiments https://github.com/apple/swift/pull/59115 reduces memory consumption when linking a sample Vapor app by ~2GB. This still leaves memory consumption to be quite high so this issue is worth keeping open to track further improvements.

An update:
I did some builds using both the 5.8 and main nightlies, using a project generated from Vapor's default template (run vapor new --no-commit --no-git --no-leaf --no-fluent LinkTest to generate the same project) and adding the -Xlinker --stats flag to the build to make ld.gold report statistics. Running in Docker (latest Docker Desktop for Mac, on an M1 running latest Ventura, Docker configured with 8 CPUs & 24GB RAM), and using a bind mount. Results for 5.8 and main were so similar that I've included only the former here.
~/LinkTest$ docker run --pull -ti --privileged -e 'TERM=xterm-256color' \
    --mount type=bind,source=$(pwd),target=/src -w/src \
    swiftlang/swift:nightly-5.8-jammy
 ################################################################
 #								#
 # Swift Nightly Docker Image					#
 # Tag: swift-5.8-DEVELOPMENT-SNAPSHOT-2023-02-23-a			#
 #								#
 ################################################################
root@168d96cf79e1:/src# swift --version
Swift version 5.8-dev (LLVM 44d4f9d4b49845f, Swift b9562e1a860ec0b)
Target: aarch64-unknown-linux-gnu

debug (swift build -c debug -Xlinker --stats):
/usr/bin/ld.gold: total space allocated by malloc: 167821312 bytes (~160.1 MiB)
/usr/bin/ld.gold: total bytes mapped for read:<PHONE_NUMBER> (~6.5 GiB)
/usr/bin/ld.gold: maximum bytes mapped for read at one time:<PHONE_NUMBER> (~6.5 GiB)
/usr/bin/ld.gold: archive libraries: 2219
/usr/bin/ld.gold: total archive members: 904
/usr/bin/ld.gold: loaded archive members: 2

release (swift build -c release --swift-static-stdlib -Xlinker --stats):
/usr/bin/ld.gold: total space allocated by malloc:<PHONE_NUMBER> bytes (~1.88 GiB)
/usr/bin/ld.gold: total bytes mapped for read:<PHONE_NUMBER>6 (~26.93 GiB)
/usr/bin/ld.gold: maximum bytes mapped for read at one time:<PHONE_NUMBER>6 (~26.93 GiB)
/usr/bin/ld.gold: archive libraries: 17092
/usr/bin/ld.gold: total archive members: 713050
/usr/bin/ld.gold: loaded archive members: 711

I took the response file from the release build and manually deduplicated the -l flags for the following libraries:

-lswiftGlibc (appears 738x)
-lm, -lpthread, -lutil, -ldl (appear 739x each)
-lswiftDispatch, -ldispatch, -lDispatchStubs, -lBlocksRuntime (appear 723x each)
-lFoundation, -lCoreFoundation, -licui18nswift, -licuucswift, -licudataswift, -luuid (appear 449x each)

... for a total of 9,265 duplicates removed. I then re-ran the link command with the new response file. The resulting binary executable was identical in byte size, and examination of both versions with llvm-objdump showed no meaningful differences; both also functioned identically and correctly when run normally. As for the effect on linker performance...
/usr/bin/ld.gold: total space allocated by malloc: 202473472 bytes (~193.1 MiB)
/usr/bin/ld.gold: total bytes mapped for read: 375074262 (~357.7 MiB)
/usr/bin/ld.gold: maximum bytes mapped for read at one time: 46575504 (~44.2 MiB)
/usr/bin/ld.gold: archive libraries: 42
/usr/bin/ld.gold: total archive members: 2676
/usr/bin/ld.gold: loaded archive members: 711

So that's an order of magnitude increase in space efficiency (not to mention a 5.5x improvement in time efficiency), a nearly-equivalent decrease in IOPS, and no apparent drawbacks. It seems a foregone conclusion (at least to me) that it's worth seeing if making swift-autolink-extract a little (more) smarter works out. AIUI, it should a matter of just adding the appropriate names to this map in autolink_extract_main.cpp.
(I realize it may not be possible/safe to generically deduplicate platform libraries like libpthread, libm, etc., but just deduping libswiftGlibc, libBlocksRuntime, and the three libdispatch libraries would take care of over 1/3 of the repeats. Tack on the [Core]Foundation and ICU libs and that's almost 3/4. Even if the effect doesn't scale in linear proportion, anything helps. In the much larger project that inspired this ticket in the first place, the linker's RAM usage hits almost 20GiB and takes over 2 minutes to run, and what happens to the compiler's performance for that project in release builds is another ticket altogether...)

cc @compnerd @artemcm who looked at this last time

also cc @MaxDesiatov @etcwilde @al45tair


DRILL-5091: JDBC unit test fail on Java 8

Two parts: hygiene and the bug fixes.
Hygiene just cleans up nuisance compiler warnings seen in Eclipse.
The second commit fixes the actual problems as detailed in DRILL-5091:

Missing test config parameter
Handle new Java 8 JDBC functions

+1. Thanks for fixing this and for some more cleanup.

Failure is a Maven transfer failure. How to reset?

+1, pending minor comment

Opened DRILL-5120 for the JDBC Driver update for JDBC 4.2. Added TODOs as requested. Squashed commits to simplify commit to master.


Meta data is not binding dynamically when we use prerender service

Hi
In my application i am using pre render service with angular 1 .i am trying to add meta data dynamically for all the pages but when i  saw in the view page source its showing like this
|
  |
  |
  |
  |
  |

Could you send us an email at<EMAIL_ADDRESS>with the URL you are testing? I would expect all javascript to populate properly as long as the page renders fine in Chrome


Cron binding fails if there is a delay of several seconds before the cron binding is executed

In what area(s)?

/area runtime

What version of Dapr?

1.12.5 or above
Not reproduced in 1.11.6
Expected Behavior
This repository contains a collection of reproducible environments
https://github.com/m-moris/dapr-cron-issue
Actual Behavior
see  https://github.com/m-moris/dapr-cron-issue
Steps to Reproduce the Problem
see  https://github.com/m-moris/dapr-cron-issue

Release Note

RELEASE NOTE:

@JoshVanL Can you please look into it. It seems to be happening after due to change done in https://github.com/dapr/dapr/pull/7239 (https://github.com/dapr/dapr/blame/7ea7016c0150e6a7b7bc7c30e34d56f0001c5e90/pkg/runtime/processor/binding/send.go#L101).
Thanks.

I believe this is affecting Kubernetes as well, I have not tested it, but our team has been trying to use bindings and subscriptions on 1.12.4 Kubernetes and they have not been working.  I have been investigating this and came across this issue.  We will have to look at rolling back to 1.12.3.


Tolerate escaped line breaks

Fixes #24

I updated the testdata but AFAIK it doesn't actually fail before the change.
I also am not sure if the BNF needs updating as well.


Ooyala - Get video from sbnation.com

Hi, I am wanting to get a video from sbnation.com but currently youtube-dl is not able to. I noticed there main video player is supported by Ooyala. Therefore, it should work since youtube-dl has support for Ooyala. I tried this two ways:
Using the original sbnation.com link:
youtube-dl -v -o "/media/%(title)s.mp4"   http://www.sbnation.com/lookit/2015/2/3/7969559/michael-jordan-punched-will-perdue-chicago-bulls
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-o', '/media/%(title)s.mp4', 'http://www.sbnation.com/lookit/2015/2/3/7969559/michael-jordan-punched-will-perdue-chicago-bulls']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.6 - Linux-3.13.0-35-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: ffmpeg git-2014-12-27-d4fd3f2, ffprobe git-2014-12-27-d4fd3f2
[debug] Proxy map: {}
[generic] michael-jordan-punched-will-perdue-chicago-bulls: Requesting header
WARNING: Falling back on generic information extractor.
[generic] michael-jordan-punched-will-perdue-chicago-bulls: Downloading webpage
[generic] michael-jordan-punched-will-perdue-chicago-bulls: Extracting information
ERROR: Unsupported URL: http://www.sbnation.com/lookit/2015/2/3/7969559/michael-jordan-punched-will-perdue-chicago-bulls
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 694, in _real_extract
    doc = parse_xml(webpage)
  File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1501, in parse_xml
    tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 85, column 111
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 619, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 268, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1110, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://www.sbnation.com/lookit/2015/2/3/7969559/michael-jordan-punched-will-perdue-chicago-bulls

Second, I tried using the  Ooyala player link:
youtube-dl -v -o "/media/%(title)s.mp4"   http://player.ooyala.com/player.swf?player=e7e908eebffd4efeb96a3096aa9b4bd0
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-o', '/media/%(title)s.mp4', 'http://player.ooyala.com/player.swf?player=e7e908eebffd4efeb96a3096aa9b4bd0']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.6 - Linux-3.13.0-35-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: ffmpeg git-2014-12-27-d4fd3f2, ffprobe git-2014-12-27-d4fd3f2
[debug] Proxy map: {}
[generic] player: Requesting header
[redirect] Following redirect to http://player.ooyala.com/static/cacheable/947272d312bbb31971ab9ee0b28b5a1f/player_v2.swf?player=e7e908eebffd4efeb96a3096aa9b4bd0
[generic] player_v2: Requesting header
WARNING: Falling back on generic information extractor.
[generic] player_v2: Downloading webpage
WARNING: URL could be a direct video link, returning it as such.
[debug] Invoking downloader on 'http://player.ooyala.com/static/cacheable/947272d312bbb31971ab9ee0b28b5a1f/player_v2.swf?player=e7e908eebffd4efeb96a3096aa9b4bd0'
[download] Destination: /media/sf_linux_sandbox/player_v2.mp4
[download] 100% of 499.29KiB in 00:00

Support for Ooyala embeds on SBN has been added and will be available in the next release of youtube-dl. Thanks for the report.
Until the new version is released, you may fetch the video in question by running:
youtube-dl 'http://player.ooyala.com/player.js?embedCode=55Zjl3cjpqk6KD3w3nfhK9amvTORUhf9'

I believe this issue to be fixed in youtube-dl 2015.02.09 and newer. See our FAQ if you need help updating.


Feature: Implement actions for sending oil entries to quickfix

Closes #223 .
Exposes actions:

actions.send_to_qflist: Sends files from current oil dir to quickfix and replaces old entries
actions.add_to_qflist: Sends files from current oil dir to quickfix and keeps old entries
actions.send_to_loclist: Sends files from current oil dir to location list and replaces old entries
actions.add_to_loclist: Sends files from current oil dir to location list and keeps old entries

The quickfix actions trigger QuickFixCmdPre and QuickFixCmdPost autocommands.
The actions do not open the quickfix window, since you may create an autocmd to open it automatically on QuickFixCmdPost.

Looks good, thanks!


a

cargo install --force --git https://github.com/paritytech/substrate subkey

@jefao01 is there a problem you're having or a question you'd like to ask? If so please ask and re-open. I'm closing this for now because this repo is deprecated.


Add 'EcoleDirecte' topic

Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[x] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

EcoleDirecte is a growing platform that gets every day more attention in the french student developers community, and therefore more projects focusing on it. Even though the company behind it hasn't much related to open-source software, a lot of these projects have, and that is why I'd like to give more information on this GH topic.

From reading the description you've provided, I'm not sure that this tool is a great fit for GitHub Explore, as you mention that it is closed-source.

Good evening @deniseyu. I thought it'd be cool to add some context to the topic (that's getting used to list EcoleDirecte-related open-source projects), but it indeed may not be a perfect fit, since it isn't widely used.

If you can update the links to point to GitHub repos, a marketplace, or community forums where third-party extensions are being developed, I think that would be a better way to list this topic.

I agree, but I am unfortunately unable to do that. As far as I know, there are no organized communities focused on EcoleDirecte.

Closing this for now.


[BACKLOG-14903] Run configuration ux update and variabilization

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/job/entries/trans/JobEntryTrans.java
  plugins/pdi-engine-configuration/ui/src/main/java/org/pentaho/di/engine/ui/RunConfigurationDialog.java
  ui/src/org/pentaho/di/ui/job/entries/trans/JobEntryTransDialog.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory

Branch Change: -7.14%:small_red_triangle_down:
Complexity Change: -7.69%:small_red_triangle_down:

org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -.39%:small_red_triangle_down:
Complexity Change: -.51%:small_red_triangle_down:
Instruction Change: -.08%:small_red_triangle_down:

org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change:  + 1.01%
Complexity Change:  + 1.06%
Instruction Change:  + .17%

org.pentaho.di.job.entries.getpop.MailConnectionMeta

Branch Change: -1.00%:small_red_triangle_down:
Complexity Change: -1.41%:small_red_triangle_down:
Instruction Change: -.30%:small_red_triangle_down:

org.pentaho.di.job.entries.trans.JobEntryTrans

Instruction Change: -.03%:small_red_triangle_down:
Line Change: -.02%:small_red_triangle_down:

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change:  + .66%
Complexity Change:  + .93%
Instruction Change:  + .13%

org.pentaho.di.trans.step.StepMeta

Instruction Change: -.19%:small_red_triangle_down:
Line Change: -.26%:small_red_triangle_down:

org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -.11%:small_red_triangle_down:

org.pentaho.di.trans.steps.combinationlookup.CombinationLookupMeta

Instruction Change: -.04%:small_red_triangle_down:

org.pentaho.di.trans.steps.csvinput.CsvInputMeta

Instruction Change: -.05%:small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Instruction Change:  + .09%

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change:  + .31%
Instruction Change:  + .06%
Line Change: -.23%:small_red_triangle_down:
Method Change: -1.02%:small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change:  + 3.12%
Complexity Change:  + 3.16%
Instruction Change:  + .14%
Line Change:  + .37%

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change:  + 2.00%
Complexity Change:  + 1.89%
Instruction Change:  + .17%

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change:  + .05%

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -.06%:small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change:  + 1.18%
Complexity Change:  + 1.35%

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change:  + .07%

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -.18%:small_red_triangle_down:

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change: -3.33%:small_red_triangle_down:
Complexity Change: -1.85%:small_red_triangle_down:
Instruction Change: -.28%:small_red_triangle_down:

org.pentaho.di.ui.job.entries.trans.JobEntryTransDialog

Complexity Change:  + .04%
Instruction Change:  + .01%
Line Change:  + .01%

@ddiroma


Remove action bar from Signup / Login screen

Is this the expected output?

Hi. Yes. But also change the colour of top bar from white to black.


[FEATURE] optional display of label and confidence

When comparing computed results against ground-truth, both the ground-truth label and confidence values are implicit. Displaying them ("gt 1.0") unnecessarily clutters the display.
For example, here we'd like to see only the green boxes, without the 'gt 1.0' labels:

Ideally the same dialog which allows editing the display label, color, and box properties would have checkboxes saying "display label" and "display confidence" which would default to checked; when un-checked, the information would not be displayed.

Quick demo for feedback.  The styling  (checkbox placement size) will change but I want to get feedback on the concept before continuing on.
https://user-images.githubusercontent.com/61746913/137339853-4a6b9fef-db91-49e4-893e-708cf8f946e9.mp4


MEL values are wrong

Short version:
Output of FFT transformation is truncated in frequency domain while all the rest of code considers that FFT results cover the entire spectrum (from DC to Nyquist frequency).
Long version:
To explain more in details where the problem is, first take a look at this part of code (visualization.py, microphone_update function, lines 206 to 212)
        # Transform audio input into the frequency domain
        N = len(y_data)
        N_zeros = 2**int(np.ceil(np.log2(N))) - N
        # Pad with zeros until the next power of two
        y_data *= fft_window
        y_padded = np.pad(y_data, (0, N_zeros), mode='constant')
        YS = np.abs(np.fft.rfft(y_padded)[:N // 2])

And assuming that config values are set to default (unchanged).
Time data preparation:
N is equal to N_ROLLING_HISTORY * (MIC_RATE // FPS) ⇒ 1470
N_zeros is equal to 2048-1470 ⇒ 578
So y_data is first windowed and right padded in time domain with 578 zeros.
Next FFT is computed:
np.fft.rfft(y_padded) is an array of 1025 complex values in frequency domain from DC to 22100Hz ( = Nyquist frequency = MIC_RATE/2). Each bin is ~21.53 Hz (MIC_RATE/2048) large.
Then this output is truncated to N//2 elements : the problem is here !
After this operation frequency domain of YS is now DC to ~15805Hz (bin size * (N//2-1)).
But the rest of code considers that this set of 735 (=N//2) values covers the full Nyquist bandwidth.
For example in mel matrix computation (melbank.py, compute_melmat function, line 136):
        freqs = linspace(0.0, sample_rate / 2.0, num_fft_bands)

sample_rate is set in calling function to MIC_RATE / 2.0 ⇒ 22100Hz
num_fft_bands is set int(config.MIC_RATE * config.N_ROLLING_HISTORY / (2.0 * config.FPS)) ⇒ 735
At this step, freqs array mismatches frequencies spectrum of YS.
In consequence, expression like mel = np.atleast_2d(YS).T * dsp.mel_y.T computes wrong values.

Thanks for discovering this! As I more focus on the Arduino side of things, the math/python side is a bit "above my pay grade" so to speak.
Is there any reason that the array would be truncated for performance reasons? If not and this is just a bug, let me know what you think the proper way to go about fixing it is, I will see what can be done.

I think the underlying reflection behind this bug is : As input is zero padded, output is also zero padded so I remove extra data.
Correction suggestions:
(Disclaimer: I'm not able to test the project, so all written code below need to be checked)
First correct the bad line (visualization.py:212) :
YS = np.abs(np.fft.rfft(y_padded)[:N // 2])
to
YS = np.abs(np.fft.rfft(y_padded))
Adapt MEL bank construction (dsp.py:44)
samples = int(config.MIC_RATE * config.N_ROLLING_HISTORY / (2.0 * config.FPS))
to
samples = (2**int(np.ceil(np.log2(config.MIC_RATE * config.N_ROLLING_HISTORY / config.FPS  ))))//2 + 1
I think with these two modifications the code will be able to run without breaking.
Due to this bug MIN_FREQUENCY and MAX_FREQUENCY in config.py were misinterpreted. They need to be corrected by a factor of 735/1025 (the ratio between the two samples formula above). For example 200 Hz becomes 144 Hz.
Global thinking of audio buffer organization:
In this project the audio buffer is a set of N_ROLLING_HISTORY (2) chunks of MIC_RATE/FPS (735) audio samples.
For my purposes, I prefer using a circular buffer with a power of two size (1024 or 2048). The algorithm becomes very simple:

Add new audio data in circular buffer.
Compute FFT on the entire circular buffer (No padding required).

I think this approach is simpler and perhaps faster than the current one.
As I'm a newby in numpy, I wrote my circular buffer in C, but I it will be easy to implement it in numpy.
Out of subject note: In dsp.py, function melfrequencies_mel_filterbank, num_fft_bands parameter is never used.


[rpstat] Add new features

[ ] Support Panda3D raw material in material window
[ ] Support Geom
[ ] Controller instead of MovementController
[ ] File Dialog

[x] File Drop

[ ] Actor

https://github.com/bluekyu/rpcpp_plugins/commit/71c465797b3f1f5a56eca3f5570842d6097ba8ea

https://github.com/bluekyu/rpcpp_plugins/commit/c8e681374f0d9e2f0dcef8b22ec3b4f6de546fdb


update_file_map needs work

This is mostly AFGE related stuff, and we're going to get rid of this in lieu of the new datastores

This will be handled in a subclass of the OAIObjectHandler class that we are using for assistants and datastores.

classDiagram
    class Assistant {
        +String id
        +String object
        +Int created_at
        +String name
        +String description
        +String model
        +String instructions
        +Tool[] tools
        +Metadata metadata
        +Float top_p
        +Float temperature
        +String response_format
    }

    class Tool {
        +String type
    }

    class VectorStore {
        +String id
        +String object
        +Int created_at
        +Int usage_bytes
        +Int last_active_at
        +String name
        +String status
        +Metadata metadata
        +Int last_used_at
    }

    class VectorStoreFile {
        +String id
        +String object
        +Int usage_bytes
        +Int created_at
        +String vector_store_id
        +String status
        +String last_error
        +String file_id
    }

    class File {
        +String id
        +String object
        +Int bytes
        +Int created_at
        +String filename
        +String purpose
    }

    class Message {
        +String id
        +String object
        +Int created_at
        +String content
        +Annotation[] annotations
    }

    class Annotation {
        +String id
        +String object
        +Int created_at
        +String file_id
    }

    Assistant "1" -- "0..128" Tool
    Tool <|-- VectorStore
    VectorStore "1" -- "0..10000" VectorStoreFile : contains
    VectorStoreFile "*" -- "1" File : maps to
    Message "1" -- "*" Annotation : contains
    Annotation "*" -- "1" File : maps to
    Tool "1" -- "*" Annotation : generates

Immediate Goals and System Requirements
User-Facing Goals:

Load an Assistant and Display Attached Tools and Files:

Provide visibility on the tools and files attached to a specific assistant.

Admin Goals:

Identify and Clean Orphan Files:

Determine which files are not associated with any tools, vector stores, or assistants, and clean them out.

Maintain Up-to-Date Codexes:

Ensure the files and vector store files used by tools are current and properly versioned.

Bringing Everything Together
Let's outline the necessary steps and components to achieve these goals:
1. Extend OAIHandler and Subclasses
Ensure we have an OAIHandler class and appropriate subclasses for managing CRUD operations:
class OAIHandler:
    def __init__(self, api_key):
        self.api_key = api_key

    def create(self, endpoint, data):
        # Implement create operation
        pass

    def read(self, endpoint, object_id):
        # Implement read operation
        pass

    def update(self, endpoint, object_id, data):
        # Implement update operation
        pass

    def delete(self, endpoint, object_id):
        # Implement delete operation
        pass

class AssistantHandler(OAIHandler):
    def __init__(self, api_key):
        super().__init__(api_key)

    # Additional methods specific to assistants

class VectorStoreHandler(OAIHandler):
    def __init__(self, api_key):
        super().__init__(api_key)

    # Additional methods specific to vector stores

class VectorStoreFileHandler(OAIHandler):
    def __init__(self, api_key):
        super().__init__(api_key)

    # Additional methods specific to vector store files

class FileHandler(OAIHandler):
    def __init__(self, api_key):
        super().__init__(api_key)

    # Additional methods specific to files

2. Load an Assistant and Display Attached Tools and Files
Create a function to load an assistant and display its attached tools and files:
def load_assistant(assistant_id):
    assistant_handler = AssistantHandler(api_key='your_api_key')
    vector_store_handler = VectorStoreHandler(api_key='your_api_key')
    file_handler = FileHandler(api_key='your_api_key')

    # Load assistant
    assistant = assistant_handler.read('assistants', assistant_id)

    # Get attached tools
    tools = assistant['tools']

    attached_files = []
    for tool in tools:
        if tool['type'] == 'vector_store':
            vector_store = vector_store_handler.read('vectorstores', tool['id'])
            vector_store_files = vector_store['files']
            for vsf in vector_store_files:
                file = file_handler.read('files', vsf['file_id'])
                attached_files.append(file)

    return assistant, tools, attached_files

3. Identify and Clean Orphan Files
Create a function to identify and clean orphan files:
def clean_orphan_files():
    file_handler = FileHandler(api_key='your_api_key')
    vector_store_file_handler = VectorStoreFileHandler(api_key='your_api_key')

    all_files = file_handler.list('files')
    all_vector_store_files = vector_store_file_handler.list('vectorstorefiles')

    # Identify files not referenced by any vector store file
    orphan_files = [file for file in all_files if not any(vsf['file_id'] == file['id'] for vsf in all_vector_store_files)]

    # Clean orphan files
    for orphan in orphan_files:
        file_handler.delete('files', orphan['id'])

    return orphan_files

4. Maintain Up-to-Date Codexes
Ensure files and vector store files are current and properly versioned:
def update_codexes():
    file_handler = FileHandler(api_key='your_api_key')
    vector_store_file_handler = VectorStoreFileHandler(api_key='your_api_key')

    # Implement logic to check and update codexes
    # For example, checking file hashes and re-uploading if necessary
    pass

Task List
Here are the tasks to complete the project:
- [ ] Extend OAIHandler class for Assistant, VectorStore, VectorStoreFile, and File operations. 📅 2024-06-01
- [ ] Implement load_assistant function to display attached tools and files. 📅 2024-06-02
- [ ] Implement clean_orphan_files function to identify and remove orphan files. 📅 2024-06-03
- [ ] Implement update_codexes function to maintain up-to-date files and vector store files. 📅 2024-06-04
- [ ] Integrate all components and test the system. 📅 2024-06-05

This plan ensures we have a clear strategy for managing our assistants, tools, and files, providing visibility and maintaining data integrity across the system. Let me know if you need any further adjustments!


schema missing (empty allOf array) for monitoringService = 'Platform'

by the way, can users customize the schema to log their own data?

@haxu1 Hi, Thank you for reaching out. Could you please share more about the product you are referring to?

Hi,
Sure, I'd like to. What kind of information you want?

I set up the new availability test, and attach an action which has a webhook to the alert of this availability test. but the json string which is the input of the webhook has an empty allOf field.

@haxu1 Hi, could you please share which Azure doc you are referring to or which Azure product you are using? Thank you.

@haxu1
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


docs: work around Toast CSS conflict with utils

This PR closes #32350.

My only objection is that maybe we shouldn't use this extra div in the snippet? It only affect our docs, right? If so, we should split the blocks.

My only objection is that maybe we shouldn't use this extra div in the snippet? It only affect our docs, right? If so, we should split the blocks.

My only objection is that maybe we shouldn't use this extra div in the snippet? It only affect our docs, right? If so, we should split the blocks.

I guess we have two other options to resolve it.

To add !important in display.
May be we can add display: flex in toast class itself, but not sure what all impact will it have?

My only objection is that maybe we shouldn't use this extra div in the snippet? It only affect our docs, right? If so, we should split the blocks.

I guess we have two other options to resolve it.

To add !important in display.
May be we can add display: flex in toast class itself, but not sure what all impact will it have?

I'm fine with the extra div. I don't think we need to make any changes to that as it leaves the core component intact and encourages folks to customize everything within the toast.

I'm fine with the extra div. I don't think we need to make any changes to that as it leaves the core component intact and encourages folks to customize everything within the toast.


Fix standalone build logging with current stable webpack

Using the debug API with a webpack build of flight fails in log() when using current versions of webpack because references to the 'DEBUG' global are replaced with true or false.
This fixes the issue by using an explicit reference to window.DEBUG instead. I've included an update to the current version of webpack which passes the tests but let me know if you'd prefer not to include that in this PR.
Also, is there any particular reason for exposing a global named DEBUG rather than requiring it to be accessed via the 'flight' global?

Hey! Sorry for the stupendously long wait on this one. I'm going to cherry pick your work onto master and close this. Thanks for your contribution!


rusqlite benchmarks fail with "database locked"

I guess we forget to drop the database lock for Limbo benchmarks:
Found 9 outliers among 100 measurements (9.00%)
  4 (4.00%) high mild
  5 (5.00%) high severe
Benchmarking rusqlite/Prepare statement: 'SELECT * FROM users LIMIT 1': Warming up for 3.0000 sthread 'main' panicked at core/benches/benchmark.rs:113:57:
called `Result::unwrap()` on an `Err` value: SqliteFailure(Error { code: DatabaseBusy, extended_code: 5 }, Some("database is locked"))
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: bench failed, to rerun pass `-p limbo_core --bench benchmark`

@gvos94 Any ideas why the following patch is not enough to fix the benchmark? Are we not dropping the file lock when Database is dropped?
diff --git a/core/benches/benchmark.rs b/core/benches/benchmark.rs
index 9be7679..2fc08f3 100644
--- a/core/benches/benchmark.rs
+++ b/core/benches/benchmark.rs
@@ -89,6 +89,9 @@ fn bench(c: &mut Criterion) {
         },
     );

+    drop(conn);
+    drop(db);
+    drop(io);
     drop(group);

     // https://github.com/penberg/limbo/issues/174

@gvos94 Any ideas why the following patch is not enough to fix the benchmark? Are we not dropping the file lock when Database is dropped?
diff --git a/core/benches/benchmark.rs b/core/benches/benchmark.rs
index 9be7679..2fc08f3 100644
--- a/core/benches/benchmark.rs
+++ b/core/benches/benchmark.rs
@@ -89,6 +89,9 @@ fn bench(c: &mut Criterion) {
         },
     );

+    drop(conn);
+    drop(db);
+    drop(io);
     drop(group);

     // https://github.com/penberg/limbo/issues/174

I think for this to work the Database and Connection struct need to implement the Drop trait.

@brayanjuls We don't need additional Drop traits because DarwinFile already has one, which calls unlock_file(). The reason you fixed the issue in #223 was because I forgot to drop stmt (which keeps a reference count to the file, preventing drop).
While your fix is much cleaner, this would have also worked:
@@ -89,6 +34,10 @@ fn bench(c: &mut Criterion) {
         },
     );

+    drop(stmt);
+    drop(conn);
+    drop(db);
+    drop(io);
     drop(group);

     // https://github.com/penberg/limbo/issues/174

Thanks for fixing the issue!


openjdk10: add darwin support

Motivation for this change
Copied from the jdk8 derivation and adjusted for jdk10: https://github.com/NixOS/nixpkgs/blob/beaa0984c63f6e93a9ddfae18c70d39602e90cca/pkgs/development/compilers/openjdk/darwin/8.nix.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg bulid openjdk10

@GrahamcOfBorg build openjdk10

Success on x86_64-darwin (full log)
Attempted: openjdk10
Partial log (click to expand)
  inflating: ZuluJCEPolicies/DISCLAIMER
  inflating: ZuluJCEPolicies/local_policy.jar
  inflating: ZuluJCEPolicies/US_export_policy.jar
post-installation fixup
moving /nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10/man to /nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10/share/man
gzipping man pages under /nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10/share/man/
strip is /nix/store/vvbmqsh5ikrxkiwj71dwfbzcwf4bfav8-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10/lib  /nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10/bin
patching script interpreter paths in /nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10
/nix/store/5milax90x403x9hk5w0xp1jy7j02p2xq-zulu10.1+11-jdk10

Success on x86_64-linux (full log)
Attempted: openjdk10
Partial log (click to expand)
these paths will be fetched (193.74 MiB download, 457.05 MiB unpacked):
  /nix/store/55fm6f2cdikpydfxgfl7gpb93z46ndl9-openjdk-10.0.1-b10-jre
  /nix/store/a9kgdcfv8wv0rbwvsvg230b2cwjyxp5f-openjdk-10.0.1-b10
copying path '/nix/store/55fm6f2cdikpydfxgfl7gpb93z46ndl9-openjdk-10.0.1-b10-jre' from 'https://cache.nixos.org'...
copying path '/nix/store/a9kgdcfv8wv0rbwvsvg230b2cwjyxp5f-openjdk-10.0.1-b10' from 'https://cache.nixos.org'...
/nix/store/a9kgdcfv8wv0rbwvsvg230b2cwjyxp5f-openjdk-10.0.1-b10

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: openjdk10
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Thank you for your first contribution and welcome to the community! :)


Work locally but not on my web server

Hello, I've got a problem with this bundle. In fact the I'm using it on my local server (MAMP) it works perfectly. But when I try with my web server, with all the web browser, the bundle seems to don't generate correctly the pdf as you can see it here http://verifex.marco-and-doug.com/expertise/print/1
It may be link to my server config but I don't understand where is the problem..

Hello.
I checked the url you provided, it appears that the content-type header is se to text/html which would explain why you get the compiled pdf code as a response.
Can you try to do this in your controller ?
$response->headers->set('Content-Type', 'application/pdf');


Add wheel build configuration to CI

This commit adds a new job to the release CI to leverage cibuildwheel to
build and publish portable wheels to PyPI. Right now at release time we
only publish an sdist which means users have to build from source when
then install mthree. By building wheels we ship precompiled binaries
that users can just install. This will build x86_64 and i686 on linux,
arm64 and x86_64 on MacOS, and amd64 and win32 for windows to start. We
can expand the supported architecture set later.

This should not be merged until https://github.com/Qiskit-Partners/mthree/commit/56929a792ed0d39cf79155a2c95f3d077ca13a67 is reverted. It's setup right now to test builds in CI so we can debug any issues this might have. Once it builds working wheels we can revert that and it's ready for review and potential merging.

Many thanks for doing this; it is beyond my skill set for sure.  Also good eye on the other setup docstring fixes.

Sorry this wasn't quite ready yet (I should have marked it as wip). We need to revert https://github.com/Qiskit-Partners/mthree/pull/18/commits/56929a792ed0d39cf79155a2c95f3d077ca13a67 so that it only runs on tags and uploads to pypi. Right now I have it set up to debug so it runs post merge and on prs for testing.

I am not sure what exactly you want done.  Isn't it just replacing the push parts of the release yaml with the old tags part?  If so I can just make a PR to do that.