Dependency on old version of Faraday

Dependency has been conflicting with other gems. Updating the gemfile should do the trick assuming faraday hasn't changed substantially.

Any update on this? I don't want to fork but I might have to. The gem dependancy should either be more flexible or add another version that supports newer versions. I will create the fork anyways with a PR

Any updates on this? Seems like this gem is still dependent on faraday 0.11.0,  which is causing conflicts/issues with other gems.

+1


Select CoC command from a list

Is there any way to select the extension subcommands (mru, references, ...) from a list? I tried :Telescope coc without any luck.
I am thinking about something like the Telescope builtin list (:Telescope) or CoC list (:CocList). This may help to easily navigate through the CoC commands from Telescope.
Thanks for taking your time developing this great extension.

Got your point, do you know any telescope extensions support this?

I couldn't find any but I will keep looking.
In any case, if this is not possible right now, we could open an issue in Telescope repository. This feature can be useful for other extensions with several subcommands (p.e. telescope-dap, telescope-tmux, ...).


feat: add format and clean to test-projects

This PR updates the build-test-projects scripts. Now we are able to format, check formatting and clean sway projects.
What was done:

rename build-test-projects to test-projects - as we are not only building, changing the name made sense
added clap to make a nice CLI with sub-commands and flags
refactor the script so that we can concurrently run different commands (currently forc and forc-fmt)
added formatting check for sway projects to CI
updated docs
used the tool to format all test projects - that is why we have changes in the test projects in this PR

How to use the new CLI:

test-projects build - will build all the projects
test-projects clean - will clean the output of all projects
test-projects format - will format all projects
test-projects format --check - will check the formatting but will not change any files

I have also added optional OPTIONS:

-n, --num-concurrent - we can set the number of concurrent projects to run. Currently the default is 1.
--bin-path - we can manually set the path to forc and forc-fmt (useful if we need to use specific versions)
--projects-path - we can specify the test projects path. You can now build only parts of the test projects or use any other directory where you have sway projects.

All the info above is available in the help output of the CLI:
Build or format all projects under the main test suite with `forc`/`forc-fmt`

Usage: test-projects [OPTIONS] <COMMAND>

Commands:
  build   Builds all test projects with `forc`
  format  Formats all test projects with `forc-fmt`
  help    Print this message or the help of the given subcommand(s)

Options:
  -n, --num-concurrent <NUM>  Number of concurrent projects [default: 1]
      --bin-path <DIR>        Specify where to find `forc` and `forc-fmt`
      --projects-path <DIR>   Specify test projects path
  -h, --help                  Print help information
  -V, --version               Print version information

Note We use cargo run to run the script. So for example to check the formatting you would do:

cargo run --bin test-projects -- format --check

The format check is working in the CI this is how it looks like:


ChromosomeLocation and NamedInterval

ChromosomeLocation requires the interval to be the concrete NamedInterval class, instead of the abstract Interval. While we don't want users using SequenceInterval with ChromosomeLocation, it is possible that other Interval subclasses emerge that we want to use for ChromosomeLocation (and in fact, there is at least one case I've run across so far to support this).
Opening issue to discuss this.

The Interval class is not used anywhere right now and it serves no useful purpose in my mind. It should be deprecated and we can do so without any impacts. See #200.
My inclination is to create intervals that are specific to particular coordinate systems. For example, SequenceLocations use SequenceIntervals, which might have a variety of concrete interval representations that are relevant to sequences.
JSON Schema permits classes to belong to multiple abstractions, à la multiple inheritance.

This was addressed in 0297dec. Closing.


Counter-clockwise polygons and dateline-crossing bounding boxen

@frewsxcv 2 draft-geojson PRs have possible consequences for python-geojson: https://github.com/geojson/draft-geojson/pull/42, https://github.com/geojson/draft-geojson/pull/42. The first recommends counter-clockwise winding for exterior rings of polygons (aka right-hand rule) and the second makes a recommendation that bounding boxes be [west, south, east, north] instead of [min(long), min(lat), max(long), max(lat)] to make dealing with the dateline more sane. Any thoughts or comments?
A function to wind/rewind polygons accordingly could be a good feature for python-geojson.

I'm pretty interested in that king of feature.
I read that's possible with utils.map_coords. Is that right? Maybe I can help but I don't know how...

I just came here looking for just this feature. It would be good for the .valid attribute to check for ccw.
And (maybe optionally) it could be fixed when creating the Feature
Here is some code for checking winding order:
https://gist.github.com/ChrisBarker-NOAA/6fc7de7557856c1351a27df2bb281df5
maybe I'll do a PR one of these days -- but how/where would you like it done?
Automatically?
Checking in .valid?
Only when asked? (i.e. a fix_winding() method)

NOTE: I was using my pyton code in the gist just now, and for one case of a lot of large polygons -- it's pretty darn slow:
writing the geojson went from 624 ms to 2.4 s if I added the is_clockwise() check.
So probably better not to have it done automatically.

Hi @ChrisBarker-NOAA, new project lead here. Thanks for your input on this! It guided me in a good direction, and it turns out a more efficient algorithm is available.
It's all explained in the Curve Orientation article on Wikipedia, in the "practical considerations" section.
TL;DR: Regardless of a given linear ring's cardinality, only 3 (well-chosen) points are needed to determine its winding order: a point on the convex hull and its two immediate neighbors. Also, a point with the minimum longitude/latitude in the set is guaranteed to be on the convex hull, so these 3 points are trivial to choose.
For now, here is a function implementing the above which I plan to add to the codebase soon, for you to try out. Note, the input parameter is a "linear ring" in GeoJSON parlance so that's what I'm calling it.
def is_clockwise(lring):
    """
    Determine winding order based on minimum lng/lat
    coordinate and its immediate neighbors.
    :param lring: a linear ring from a Polygon
    :type lring: _linear_ring
    :return: whether the linear ring has clockwise winding order
    :rtype: boolean
    """
    x = lring.index(min(lring, key=lambda item: (item[0], item[1])))
    det = (
        lring[x][0] - lring[x-1][0]) * (lring[x+1][1] - lring[x-1][1])
        - (lring[x+1][0] - lring[x-1][0]) * (lring[x][1] - lring[x-1][1])
    return det < 0

I got about a 25% performance boost with this function on a trivial example compared to your gist; please let us know how it works on one of your larger use cases if you can.

Any updates on this?


When storing the api key in ansible vault and not creating a datadog_callback.yml you get an error that datadog_callback.yml is missing.

If you provide the value for datadog_api_key in ansible vault  and try to run using the call back it will error with a message much like this:
PLAY [localhost] ***********************************************************************************************************************************************************
Could not load configuration, invalid file: [some path]/plugins/callback/datadog_callback.yml

This is because on line 237 the api_key and url are loaded from the .yml file.  If the file does not exist then it errors.   Later on line 240 there is code to load the value from ansible vault.

Hi @cbitter78,
Thanks for filling this issue. This should be fix by PR #34 and has been tagged as 2.4.1.


Plugin won't install

Hi
Every time i try to install this plugin i get the below errors :(  Any help would be much appreciated.
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! path git
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn git
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t git://github.com/tillbaks/node-eiscp.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

Can you share the command you’re using to try to install?

@mark125431
Although request was listed as a dependency in package.json, the code does not use the request library.
I am going to remove this.

Thanks @cbrandlehner
I’ve just run it again but still get the below errors. 😢 any help would be amazing
npm ERR! path git
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn git
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t git://github.com/tillbaks/node-eiscp.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

try installing "git" on your platform.
Depending on OS it might be by using
apt-get install git
yum install git

or similar.

Perfect.  Thanks
All installed now.  However it isn’t picking up the “TV”. Input.  Any ideas ?
I have it set as model TX-NR609. But my unit is a pioneer vsx-831 using the onkyo protocol

Please open a new issue and close this one. :-)
Sent with GitHawk


Add subclassing testcase which previously caused a segfault

Add a testcase from #407. Both test cases don't segfault after the
change to the #[pyclass] system in #683.
Edit: Also remove unsound-subclass feature.
Closes #407, Closes #220

Thank you!


Enhancing Security and Collaboration with BigQuery OAuth Integration in dbt Cloud

Contact Details
<EMAIL_ADDRESS>I have read the dbt Developer Blog contribution guidelines.

[X] I have read the dbt Developer Blog contribution guidelines.

Which of these best describes you?

[ ] I am a dbt Community member or partner contributing to the Developer Blog
[X] I work for dbt Labs and am creating this issue for a community or marketing approved piece.

What is the topic of your post?
BQ Oauth went GA in dbt Cloud, so I suggest we publish this under @GideonShils and @Fleid's names
Link to an initial outline.
We're excited to announce that dbt Cloud now supports developer OAuth integration with BigQuery! This new feature brings an additional layer of security for dbt enterprise users and streamlines the process of collaborating within the dbt Cloud IDE. In this blog post, we will discuss the benefits of using this new feature and provide an overview of how to set it up.
Benefits of Using BigQuery OAuth Integration
Improved Security: By enabling BigQuery OAuth for your dbt Cloud projects, you are adding an extra layer of security. Each developer is required to authenticate with BigQuery in order to use the dbt Cloud IDE, ensuring that only authorized users have access to your data.
Streamlined Collaboration: With BigQuery OAuth integration, developers no longer need to share or manage individual service account keys. Instead, they simply authenticate using their own BigQuery credentials, making it easier for teams to work together and manage access to resources.
Simplified User Management: BigQuery OAuth integration allows you to manage user access within the dbt Cloud interface. Administrators can easily grant or revoke access, and users can authenticate with their existing BigQuery accounts.
Setting Up BigQuery OAuth Integration
Getting started with BigQuery OAuth integration in dbt Cloud is a simple three-step process:
Create a BigQuery OAuth 2.0 client ID and secret: This involves setting up a new OAuth app in BigQuery and generating the client ID and secret needed for authentication. These credentials will be stored in dbt Cloud.
Configure the connection in dbt Cloud: Add the client ID and secret generated in the previous step to your dbt Cloud project's connection settings.
Authenticate to BigQuery for each developer: Finally, each dbt Cloud user must authenticate with BigQuery in their profile settings to access the dbt Cloud IDE.
Conclusion
The new BigQuery OAuth integration in dbt Cloud is a powerful feature that enhances security and collaboration within your data team. By implementing this integration, you can ensure that only authorized users have access to your data, streamline the collaboration process, and simplify user management. Get started today and experience the benefits of this exciting new feature!

Authors of blog should prob be: @schottj, @GideonShils, @Fleid

Hey @ernestoongaro I think this was probably meant for the company blog. I'm going to close this out, but feel free to re-open if you still want this on the developer blog!


[LFT] Fullstack JS dev looking for fun project

Background
Hi, I'm Marco, fullstack JS developer from Berlin. After hearing the legends about Ethereum hackathons I decided to join one and here we are! I've been playing around with web3 for a while now, mostly on the client side but also got my backend experience while developing an MVP last year to combine traditional centralized services and blockchain.
I'm hoping to find a chill project to develop something fun, say a new meme token with some crazy interactivity? Or something that can put blockchain in your day to day life? Of course I'm open to all kinds of ideas, so let me know what you've planned!
Skills

[x] React and traditional web tech
[x] web3/ethers
[x] next.js for backend
[x] An eye for UX and DX

Communication
Riot: muchwin
Twitter: @mediaquery

We are creating fast prediction market on Ethereum side-chain, which could be used in real product at #21.
Would you like to join us?

Thanks for contacting me, but I found a project already :) Good luck!


server.auth.strategy vs connection.auth.strategy

Just going through the source code to familiarize more with the project. Its looks really great!
Noticed one small thing:
https://github.com/jedireza/frame/blob/master/server/auth.js#L9
You are using connection.auth.strategy, I don't think you are supposed to use connection api directly as it is hidden behind server api. So I think it should be just server.auth.strategy and it will be applied for all connections for you.

Thanks! I think you're right, this should get updated.


R1.15 rocm relocatable pkg

Changes needed for r1.15-rocm release branch to build with relocatable ROCm installations.

Can one of the admins verify this patch?


Dragging in mobile from vite compiled code incorrectly scrolls the view

Describe the bug
Building my repository with vite I always encounter an issue that while dragging an item in a scroll zone that the scroll also moves to match the drag (e.g. stays in the same position!).
Everything works fine running via vite dev.
After many hours of hunting in the code I realised that the default treeshaking removes { passive: false } in the react-dnd-touch-backend/dist/TouchBackendImpl.js file
import { supportsPassive } from './utils/supportsPassive.js';

...

addEventListener(subject, event, handler, capture = false) {
        const options = supportsPassive ? {
            capture,
            passive: false
        } : capture;
        this.listenerTypes.forEach(function(listenerType) {
            const evt = eventNames[listenerType][event];
            if (evt) {
                subject.addEventListener(evt, handler, options);
            }
        });
    }

For example this is the code after treeshaking;

instead of the following with treeshaking disabled;

Without this { passive: false } the e1.preventDefault() in the this.handleTopMove = (e1)=>{ function is unable to stop the default scroll behaviour;

Reproduction
Steps to reproduce the behavior:

Use drag and drop in a scroll container
Build with vite
Run built code on a mobile/touch device
Attempt to drag an item and see the scroll move while dragging.

Expected behavior
While dragging the touch scroll to be prevented.
Screenshots

Desktop (please complete the following information):

OS: Android / Mobile
Browser: Chrome
Version: 129

Additional context
I fixed this problem by copying the entire dist folder to my src code and using the copy instead. Note that I did not have to change any code to fix this issue. I suspect that the vite => esbuild/'rollup' compiler is incorrectly assuming there are no sideEffects and is removing the following

Perhaps we could rename the constant supportsPassive to a getSupportsPassive function which can be run inside TouchBackendImpl and shouldnt be removed by treeshaking?

I'm also facing this issue. I made a reproduction of it here (though I initially suspected multi-backend to be at fault): https://github.com/vezaynk/dnd-vite-issue-demo

Thanks for the reproduction @vezaynk. Glad this issue was useful for someone!


[JAX] Support FP8 training for Pipeline Parallelism when Micro-batch > 1 on Paxml.

Adjust the order of updating amax history and updating scale to align with PyTorch.
Add custom data type for FP8 meta to specify the op for gradient summation as MAX.
Depends on Flax/PR-3827

/te-ci jax

@denera CI is passed, could you help merge this when you have any chance. Thank you


Python 3 compatibility, 'safer' changes only

Made a lot of progress this week towards #59. This PR should do the following:

Get the server running and all tests passing in both Python 2.7 and 3.6.
Achieve full Python 3.6 compatibility in test-covered files.
Make only basic compatibility changes in non-test-covered files, including:

Most of vision_backend/tasks.py and vision_backend/task_helpers.py. I suppose these may be largely rewritten for the pyspacer rollout anyway (@beijbom: can you confirm?).
Most management commands, since they either use the VB tasks or are tricky to test for some other reason (e.g. they use SITE_DIR directly; see #307).
All miscellaneous scripts: images/scripts.py, vision_backend/scripts.py, and contents of the scripts folder at the repo root. I didn't write tests for these because I don't know which ones have been used anytime recently.

'full Python 3.6 compatibility' just means it works in Python 3.6 (and still 2.7) as far as I can tell, and the code isn't particularly ugly for Python 3.6 purposes. I could have added a few more imports like from six.moves import range, from __future__ import unicode_literals, etc. to really make sure 2.7 ran exactly the same way as 3.6, but to me it seemed unnecessary if the tests already passed on both. Just as long as we don't write new untested code from now to the pyspacer rollout, and I don't think we plan to.
'only basic compatibility changes' means not touching the Unicode strings vs. byte strings stuff, for the most part. Just things like fixing print statements, fixing some easy imports, maybe division ops if they look straightforward enough.
Highlights in the vision_backend code:

I added more tests for confmatrix.py and views.py, and also manually tested backend_overview in Py2 and Py3.

It seems that numpy's integer types are descendants of the standard int type in certain numpy builds, but not others. If they don't descend from int, that means numpy's integer types can't be used directly for indexing into querysets. Hence the extra int() casts here and there.

Third-party package notes:

I removed the scipy and scikit-learn dependencies, since they weren't being used as far as I could tell. Removing the deps from coralnet means that our virtualenv can simply match the scipy/scikit-learn requirements in pyspacer.

I haven't updated the numpy version requirement yet, but I've actually been running a later version of numpy for Py3.6 testing on my machine, because numpy 1.11.1 didn't have a Py3.6 binary for me to install. In fact, the tests pass for me on numpy 1.18.1 - same as the version in https://github.com/beijbom/pyspacer/pull/10. If I'm not mistaken, all of our numpy usages are actually test-covered now, though I still wasn't sure if bumping the version could be considered a 'safe' Py3 compat move. The aforementioned integer-type problem was kind of subtle, after all.

All the other third-party package versions are untouched. They just seemed to work in Py3.6, eerily enough!

By my judgment at least, if this PR passes review, it should be fine to merge now. Again, still Py2.7 compatible.
If I didn't forget anything, we mainly have these 'higher-risk' Python 3 compatibility changes left:

Full Py3 compatibility for vision_backend (maybe wait until tasks are reworked?)
Full Py3 compatibility for commands/scripts (@beijbom: which ones are still being used recently? I can prioritize those.)
Updating numpy (Edit: there's another wrinkle to this - 1.17+ is Py3 only)

I can work on these items in another branch. Then we'd have the choice of merging those changes along with the rest of the pyspacer rollout, or merging them earlier. I'm fine either way.

@StephenChan : sorry, I must have missed this. Is this PR ready for review?

No worries. Yeah, it's ready for review.

@StephenChan : I took a look at this. Looks good in general. I added python 3.6 to Travis and all tests pass there as well as on my local dev. system.  I also bumped tqdm package a bit to be compatible with pyspacer.

Re. management commands: I actually use all of them still. So if you can check those, that'd be great.

Re. the vision backend module. It is up to you. My thinking is that we will add the spacer dependency, and rework that module at the same time. Note, however, that this wont be python2 compatible, so we will have to either bump the production server to Python 3.6 first or do this on a feature branch. I suppose the same goes for the numpy update.

As a side-note: I tried installing pyspacer and importing it. It is taking a long time to import. It seems it's related to how I check connections in config.py. I'll take a look at that over in the spacer repo.

@StephenChan : please ignore my last comment regarding spacer. It was related to my SSL certificates on python3.6 on OSX. I found a way to resolve it. https://stackoverflow.com/questions/42098126/mac-osx-python-ssl-sslerror-ssl-certificate-verify-failed-certificate-verify

I added python 3.6 to Travis and all tests pass there as well as on my local dev. system. I also bumped tqdm package a bit to be compatible with pyspacer.

Sounds good.

Re. management commands: I actually use all of them still. So if you can check those, that'd be great.

Okay. How about the miscellaneous scripts: images/scripts.py, vision_backend/scripts.py, and contents of the scripts folder at the repo root?

Re. the vision backend module. It is up to you. My thinking is that we will add the spacer dependency, and rework that module at the same time. Note, however, that this wont be python2 compatible, so we will have to either bump the production server to Python 3.6 first or do this on a feature branch. I suppose the same goes for the numpy update.

All right. So I guess we pick what we want to deal with:

If we bump production to Py3.6 first, the Beta-1 vision_backend will need one last round of debugging for those Py3.6 compat changes, even though we plan to rework vision_backend very soon per issue #264.

If we keep the rest of the Py3.6 compat changes in a feature branch, and roll that out at the same time as #264, we'll be trying Py3.6 in production for the first time while also getting it on pyspacer for the first time.

At this point I'm leaning toward the feature branch idea that you suggested. Hopefully I'm not getting complacent, but I'm feeling reasonably good about the state of the non-VB code and tests. If I can get this PR onto production now (still running Py2.7) and take care of any problems that crop up, I think the actual production switch to Py3.6 shouldn't be too bad. Compared to that, I wouldn't be particularly looking forward to debugging the Beta-1 VB, to be honest.

@StephenChan : Ok. let's do the feature branch then. And to be clear: we can make it very small: basically just https://github.com/beijbom/coralnet/issues/264 and perhaps some other minor cleanups related to dropping support for 2.7.
I'll start that once https://github.com/beijbom/coralnet/issues/302 is done. (no strict dependency; I just want to do that first).
If you fix the management commands in this PR, you can leave the rest of the misc scripts for me to clean up later.

Ok. let's do the feature branch then. And to be clear: we can make it very small: basically just #264 and perhaps some other minor cleanups related to dropping support for 2.7.
I'll start that once #302 is done. (no strict dependency; I just want to do that first).

Okay, cool.

If you fix the management commands in this PR, you can leave the rest of the misc scripts for me to clean up later.

For the remaining management commands, I was actually thinking of fixing them in the feature branch instead of this PR. Since most of the remaining commands use the VB tasks.
Sounds good on the misc scripts, though. (I know I wrote s3_sync, so you can leave that one for me.)

For the remaining management commands, I was actually thinking of fixing them in the feature branch instead of this PR. Since most of the remaining commands use the VB tasks.

sounds good.

Merged and now in production.


Add quotation

Add quotation (;) in GUID of an example 1.
quotation is missing in this line: entityFormOptions["entityId"] = "8DA6E5B9-88DF-E311-B8E5-6C3BE5A8B200";

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b204ee0a-69a2-e52d-f110-2291be66c1af
Version Independent ID: 8ac980df-6b5f-2b33-707f-11efb597ba6a
Content: openForm (Client API reference) in model-driven apps - PowerApps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/Xrm-Navigation/openForm.md
Service: powerapps
GitHub Login: @KumarVivek
Microsoft Alias: kvivek

Hi @AbdulWahabWarind I've made a pull request with a suggested updated and it will be live as soon as @KumarVivek will merge it into master branch

@AbdulWahabWarind Thanks for the feedback. We have updated our docs and published it live. Closing the issue.


[Ready For Review] Add post transaction commit handlers

This adds a second level of task runner to the existing framework/tasks/handlers.py. These tasks run synchronously, after the mongo transaction has been committed. Instead of celery signatures they are expected to be callable without arguments. (I used functools.partial to prepare my function for calling at a later date.) There is a new enqueue_postcommit_task method that enqueues a task to run postcommit.

I'm going to make another PR based off of this one that renames the handlers so that they're not awfully name.

Closing in favor of #5143


Changelog howto

thanks for the guide. We should probably link this blogpost and mine at this page? https://voxpupuli.org/docs/#releasing-a-new-version-of-a-module

Yes, I think so.


Integrate in Azure DevOps Server

I set up my C++ project with cmake.
How can i set the Scan path? When i set it as the build folder, the report contains nothing.
I use OWASP version 6.

This looks like a question that should be posted to https://github.com/dependency-check/azuredevops/issues


Tests:  Try local http files in tests

Right now, we are using remote URLs in ocean-node.
What if we update barge to run a lightweight http server, and use something like http://<IP_ADDRESS>:8001/somefile.csv ?

We could also do this with IPFS


double click a post in the content screen results in an error

Steps to reproduce:

open the content screen
double click on a post (not on the post title)

Ghost: master

@kevinansfield I've assigned you. This needs a fix before we can release 1.0 👍


SAK-40009 - Instructor name and id appears in student list when grading a 'Group …

…Submission - One submission per group' assignment
This regression has shown up has shown some side effects problems between Gradebook 2 and Assignment because tries to put a grade on users which are not allowed to submit an assignment.

I think this could be improved using streams and removing the if inside the loop, something like:
for (Member member : group.getMembers().stream().filter(m -> m.getRole().isAllowed(SECURE_ADD_ASSIGNMENT_SUBMISSION)).collect(Collectors.toList())) {

....

}

Or even:
group.getMembers().stream()
   .filter(m -> m.getRole().isAllowed(SECURE_ADD_ASSIGNMENT_SUBMISSION))
   .forEach(member -> {
       ......
    });

Sure. I'm going to update it right now

I've made those changes. Thanks, @juanjmerono

What's the Jira number?

I've update the PR name (the jira is SAK-40009)

I've updated the PR , @mpellicer to check what you said but I think @juanjmerono disagree a little ;)

@SedueRey I've seen a little contradiction here:
The addSubmission method is called in the instructor's first access to the submissions, so the instructor must have that permission according to:
https://github.com/sakaiproject/sakai/blob/master/assignment/impl/src/java/org/sakaiproject/assignment/impl/AssignmentServiceImpl.java#L980-L988
But you are supposing that only students has this permission. I think you should check other permission in your filter to discard instructors in the list something like SECURE_ADD_ASSIGNMENT could be more appropiate.

Sure. I've though that this permission was the appropriate so great catch, I'll update this next monday so if you could add wip tag it would be great

I've updated the permission check but I think @ern should take a look on this modifications so I'll remove WIP after Core Team call to discuss it

This will typically filter out Instructors, and TA's who are in the group.
Looks good as it its checking permissions.

Thanks, @ern , I really appreciate


Fix file oparetion fails on high load

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

There are more fixes like https://github.com/yiisoft/cache-file/pull/50
I've added simple test, but not on phpunit, because it needs pcntl and uses forks to simulate real high concurrency load
All fixed cases are real, taken form my corporate high load product error log

If I put this code to PHPUnit it behaves strange because of multiple forks. I can run this test to see it exit code.

Let's try it.

It was easier than i thought

Still need a line for CHANGELOG.

Thank you!


feat(List/rotate): migrate to get, new lemmas, golf

Add List.Nodup.rotate_congr_iff, List.cyclicPermutations_ne_nil,
List.head?_cyclicPermutations, List.head_cyclicPermutations,
List.cyclicPermutations_injective, List.cyclicPermutations_inj.
Change List.nthLe_cyclicPermutations to
List.get_cyclicPermutations. While the old lemma wasn't deprecated
during port, the definition List.nthLe was,
so I think that we can drop the lemma without a deprecation period.

[x] depends on: #12170

bors r+


Parser problem for html format

Below test case expects a""" but gets a instead:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;

public class Try {
    public static void main(String[] args) throws IOException {
        String path = "<a title=\"a\"\"\"\" <5\">A";
        Document doc = Jsoup.parse(path);
        System.out.println(doc.select("a").attr("title"));
    }
}

This problem is actually a format problem. I don't know whether the format title=\"a\"\"\"\", which has multiple quotes in a pair of quotes, is valid. Should they be replaced by single quote? However, The scene do exist in the real world. So how do we solve such problems since jsoup itself does not support similar work? I think the function used for double quote attribute value extract is relatively not strong. It just meets a ", turns to AfterAttributeValue immmediately, and leaves out the value after that ".
consumeAttributeQuoted() in CharacterReader.java used in TokeniserState.java line 749, which is critical in html reading:
String consumeAttributeQuoted(final boolean single) {
        // null, " or ', &
        //bufferUp(); // no need to bufferUp, just called consume()
        int pos = bufPos;
        final int start = pos;
        final int remaining = bufLength;
        final char[] val = charBuf;

        OUTER:
        while (pos < remaining) {
            switch (val[pos]) {
                case '&':
                case TokeniserState.nullChar:
                    break OUTER;
                case '\'':
                    if (single) break OUTER;
                case '"':
                        if (!single) break OUTER;//here it breaks out directly
                default:
                    pos++;
            }
        }
        bufPos = pos;
        return pos > start ? cacheString(charBuf, stringCache, start, pos - start) : "";
    }

This is implemented to the HTML5 spec, the same as modern browsers implement. So I don't plan on changing it. \ characters in HTML are not escapes and so the \" sequence is meaningless.


Text doesn't break line.

Bug
The library doesn't break the line when the text is too long.
Environment info
"dependencies": {
"expo": "^32.0.6",
"google-palette": "^1.1.0",
"js-sha512": "^0.8.0",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-native-awesome-alerts": "^1.2.0",
"react-native-chart-kit": "^2.2.1",
"react-native-paper": "^2.11.1",
"react-native-scatter-chart": "^1.0.9",
"react-native-simple-animations": "^0.2.0",
"react-native-vector-icons": "^6.3.0",
"react-navigation": "^3.3.2",
"react-redux": "^6.0.1",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0",
"socket.io-client": "^2.2.0"
}
react-native info
info Fetching system and libraries information...
System:
OS: Linux 4.18 Ubuntu 18.04.2 LTS (Bionic Beaver)
CPU: (8) x64 Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
Memory: 3.59 GB / 11.19 GB
Shell: 4.4.19 - /bin/bash
Binaries:
Node: 10.16.0 - /usr/bin/node
npm: 6.9.0 - /usr/bin/npm
npmPackages:
react: 16.5.0 => 16.5.0
react-native: https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz => 0.57.1
npmGlobalPackages:
create-react-native-app: 2.0.2
react-native: 0.60.3
info React Native v0.60.0 is now available (your project is running on v0.57.1).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.60.0.
info To upgrade, run "react-native upgrade".
Library version: 8.0.10
Reproducible sample code
The code is available in this library: https://github.com/indiespirit/react-native-chart-kit/blob/master/src/pie-chart.js
Lines 48-59.

+1 I'd love to have this support, too.


Feature request: Option to choose your package manager on the CLI. NPM, Yarn or PNPM

The default one should be NPM because it's installed automatically with node.js.

Will implement in 0.5.0

Awesome!


Add Missing Airports

Several decently large airports that are missing from the game:

Colorado Springs Airport, COS
Phoenix Mesa Gateway Airport, AZA
Cape Winelands Airport - doesn't have an IATA code...
Grand Central Airport , GCJ

is adding airports in MFC the same as it is for AC? wouldn't mind doing this


Pull meta data from images on Brandmaster

When images are uploaded to Brandmaster, the editors add some meta information. In #337, the fields we can pull where identified to be

title
description
credit line

Which of these fields are relevant for us?
How can we attach them in Sanity
How could we access the in the web
Update image fields (caption/attribution/??) accordingly

The brandmaster plugin is currently set up to pass along the following fields from Brandmaster:

title
description
credit (photographer)

These are, to my knowledge, the only such meta fields that Sanity supports/accepts for a custom asset source.
See: https://github.com/equinor/energyvision/blob/main/studio/plugins/asset-source-brandmaster/src/BrandmasterAssetSource.tsx#L40-L55
These fields can be accessed in GROQ from the asset document, but need to be explicitly referenced.
Example:
heroFigure.image.asset-> {
    title,
    description,
    creditLine
  },

Both the description and the photographer can definitely be useful, as we currently have our own fields for a caption and image credit. So the question is how can we use these values from Brandmaster as there are some questions and potential problems still:

The fields are not localized, only available in English. Having an English caption on the Norwegian language site would be weird and out of place.
Not every image will be selected from Brandmaster, so we can't just remove our own input fields
Similarly, can we trust that every image from Brandmaster has these values?
I'm not sure if we can automatically populate our input fields for caption and credit when selecting an image. If we can though, then that would probably be the best option.
What do we do if for example the description on an image gets updated in Brandmaster? There is no "link" between the asset on Brandmaster and the one in Sanity, as we just upload a copy of it into Sanity.

Re point 4: should be possible with a custom input component according to feedback, waiting to hear back from Sanity with an example.

With #443 likely being solved, this can be worked on again.

@nilsml Should see where we can fit this in to forthcoming sprints. If editors are to start working on live pages, be good to have this in place.

It might involve a bit of investigation and development work to get it right, because apparently pre-filling fields when you for example select an image is not something Sanity supports out of the box. We have a dialog going with some potential solutions, but we haven't spent more time trying them out yet.
That being said; might be useful functionality to have for other integrations as well.


[Help]: HTTPError: 401 Client Error: Unauthorised for URL

Describe the problem you met
Hi again, thank you for your help so far! Data processing worked fine yesterday however, this morning there seems to be an issue when attempting to download orbit files. Have you encountered this problem? Usually I'd wait to see if asf itself was down, but there doesn't seem to be any notification on their end as of yet, and the style of error had me concerned that it may be something more extreme.
OS and software version
OS: Linux Mint (21.1 Cinnamon) , pygmtsar docker (mobigroup/pygmtsar, 6cd0e53e4011)
Reproduce the problem
I've attempted to run my own script and one of your jupyter notebooks - same issue both times.
Log
log.txt
file
[Please note that if no new responses are made over six months from users, the issue will get closed]
[Also if this is a general question that's not particularly related to GMTSAR, such as "how to correct atmospheric noise" or "how to intepret my interferogram", consider using the discussions page]

Usually that means the default orbits serving backend doesn’t respond and the alternative backend requires the credentials, see for details: https://github.com/scottstanie/sentineleof/issues/31
So just try to repeat the downloading some hours later or tomorrow and it should work again.


Return value of Track.Write()

Commit 6cca2786c9f46f5c22d1baf3433b1102fbaa24b7 by @s4y fixed error handling in Track.Write.  The new behaviour is better, but I've got a problem with the return value.
The function now returns an error value if any of the writes have failed.  I don't see how I can use this value, since it is only correct to resend the packet if all writes have failed.  Thus, I suggest changing the behaviour to return nil if any of the writes have succeded.  Alternatively, please provide an easy way to find out if all writes have failed.

Hi @jech ,Do you have any reference for this message
 it is only correct to resend the packet if all writes have failed.

@jech What if we include the ID or Label? Even then the API still feels a little sharp to me. The only thing that can cause the Track.Write error is using a failed candidate. In that case we either want the user to Close() or restart the candidate. No other success criteria I can think of.

Hi @jech ,Do you have any reference for this message

it is only correct to resend the packet if all writes have failed.

No reference, but I can explain what I mean.
Suppose you're buffering keyframes in order to reply to PLI or FIR in a timely manner.  If you have a reliable indication that a packet within a keyframe didn't get through, then you could conceivably schedule resending of the packet without waiting for NACK or PLI.  However, in order to do that, you need an indication about which particular senders didn't get the packet.  Hence, the indication that some sender is useless unless you can identify the failed sender.
Hence my suggestion to return an error indication only when all senders failed to get the packet.  Sean suggests that the error value identify the failed senders, which is not a bad idea, but might make the API a little too rich.

@jech What if we include the ID or Label? Even then the API still feels a little sharp to me. The only thing that can cause the Track.Write error is using a failed candidate.

Hmm... I guess there's too much asynchrony to propagate errors from the sendto system call.  Which makes the point somewhat moot.

Calling Write on a TrackLocal will never return a network error. These were all the considerations that went into this decision.

Returning an error back to the user wouldn't be useful. A PeerConnection doesn't have an ID, so would be hard to identify the offender.
Returning the non-temporary error breaks DTLS and SCTP. The state then later could be fixed with an ICE Restart. DTLS and SCTP would remain in the broken state.
It requires users to handle the same state in two Places. They should only be watching ICEConnectionState

@jech @tarrencev please re-open if you disagree! There was a fair amount of churn on this, tried to summarize conversations in different threads and Slack here.


Update changelog for coming reprocessing

In https://github.com/AlexsLemonade/ScPCA-admin/issues/986 we will be reprocessing all data with integer counts, so we need to add that to the changelog.
In addition, in https://github.com/AlexsLemonade/ScPCA-admin/pull/985, I am updating/normalizing some of the column names in the metadata (making capitalization more uniform), which we will want to note in the changelog as well

Specific column name changes:

Capitalize gene names in titles: https://github.com/AlexsLemonade/ScPCA-admin/pull/985/commits/7a832f8d4f411602010d9e03a6882a3de01e60c3
all lower case other fields: https://github.com/AlexsLemonade/ScPCA-admin/pull/985/commits/3b6b36b4b00ce1fa64b7e03839cebe20f0943d24


Plugin option to customize email message?

The mail received by user when auto-registration is not very verbose :)
It would be great if admin could customize this message not just by manipulating t() function in a .php file

This issue has been closed automatically for inactivity after more than 1 year. Unfortunately, this project doesn't have enough resources to manage all these requests. Read the FAQ.


Create BaseSerde

PROPOSAL
NOT A PULL REQUEST
I had a problem with creating custom serdes for my custom models. I realized that I make lots of boiler plate code, so I came up with BaseSerde class, so creating new custom serdes comes to:
public class CustomSerde extends BaseSerde<Custom> {

  private CustomSerde() {
    super(Custom.class);
  }

  public static Serde<Custom> serde() {
    return new CustomSerde();
  }

}

And then you can simply do: CustomSerde.serde()
What do you think of this approach? Or maybe there is some way simpler that I don't know about?

@mjsax @miguno

@yeralin Thanks lot for your proposal. Opening a PR is not the usual way to do this, but a discussion on the mailing list would be the best way to address this (https://kafka.apache.org/contact). An alternative would be to create a feature request Jira ticket.
About the proposal itself: Are you aware of Serdes#serdeFrom(...) ? There is also the nested class Serdes.WrapperSerde that seems to be very similar to your BaseSerde class.
What is unclear to me atm is, if you want to contribute your BaseSerde to the AK code base or not?

@mjsax Let me take a closer look at the WrapperSerde tomorrow morning.
No, I don't want to contribute it yet, I just didn't know what's the best channel for communication there is regarding my proposal.
If WrapperSerde doesn't exactly do what BaseSerde does, I'll close this PR and submit a proper Jira feature request with the code.
Thank you for spending time on this! :)

Yep, you are right.
public class CustomSerde extends Serdes.WrapperSerde<Custom> {

  public CustomSerde() {
    super(new JsonSerializer<Custom>(), new JsonDeserializer<Custom>(Custom.class));
  }
}

Does the tick. The PR is no longer needed.
This WrapperSerde is not mentioned in the documentation: https://kafka.apache.org/10/documentation/streams/developer-guide/datatypes.html
According to it, you just need to implement your own serde period.

Please help us to improve the docs! PRs are very welcome!


Face detectors to get 5 landmarks

How to get public face detectors to get 5 landmarks, and save all images and corresponding landmarks in <raw_img_path>. can you please explain this step. i am unable to proceed further.

Hi @Ishve, for the landmark detection you can use a dedicated model such as https://github.com/ipazc/mtcnn
It gives you the X and Y coordinates for five landmarks for the image, which you can then save as 5 separate lines in a .txt file with the same name as the image, in the input folder. It will look something like this (notice I'm using random numbers just to show you the format):
122    190 180    188 234    345 876    332 765    766
From what I understand (and worked for me), in each line the X and Y coordinates are separated by a tab.

If it helps, here's the quick Python script I put together that takes an input dir as the argument and then goes through all the images, saving the text files with the landmarks
from mtcnn import MTCNN
import os
import cv2
import argparse

parser = argparse.ArgumentParser(description='Get landmarks from images.')
parser.add_argument('--input_dir', type=str, default="./input",
                    help='directory with the input images')

args = parser.parse_args()
input_dir = args.input_dir

detector = MTCNN()
for filename in os.listdir(input_dir):
    basename = os.path.splitext(filename)[0]

    image_path = f"{input_dir}/{filename}"
    text_path = f"{input_dir}/{basename}.txt"

    img = cv2.cvtColor(cv2.imread(image_path), cv2.COLOR_BGR2RGB)
    result = detector.detect_faces(img)
    keypoints = result[0]['keypoints']
    text_file = open(text_path, "a")
    for value in keypoints.values():
        text_file.write(f"{value[0]}\t{value[1]}\n")
    print(f"File successfully written: {text_path}")
    text_file.close()


Can not access Accounts module using sugarcrm ruby gem after upgrading to version 7.2.2 .

Hi,
I have recently upgraded my SugarCRM professional version 6.7.7 to version 7.2.2. Since then, when I try to access my Accounts module using sugarcrm rub gem version 0.9.18, it shows error as:
"undefined method `klass' for false:FalseClass (NoMethodError)". None of the other modules show thisproblem. Please help me.
Thanks in advance
Sudeep...

I apologize for a simple question, but where can I locate lib\ruby\gems\2.0.0\gems\sugarcrm-0.9.18\lib\sugarcrm\association\association.rb on Mac OSX?

try "gem env" from the terminal.

Thanks, I found it. So if I make this change as suggested - is there a compile command I would run or is that not necessary. Also, did you already accept this change into a version of the gem that I could just do an 'update' command to get? Thanks again.


Provide image which is based on Debian 10/buster

Requires https://github.com/jenkinsci/docker-slave/pull/106 to be merged and the image to be available (the version might need change after the image has been published).

@krichter722 this looks the exact same as #106, what am I missing?

@rtyler As far as I understand, this JNLP slave image is based on the base slave image for which a jdk11-buster image needed to be created first in order to be able to use it here. As soon as the base image is published, this build can succeed and JNLP slave image for jdk11-buster is provided.
I assume you mean https://github.com/jenkinsci/docker-slave/pull/106 when you link #106 :) Then the above explanation should apply, otherwise, please elaborate on the similarities, please.

@krichter722 correct, I did not notice that these were on two different repositories :smile_cat:

I think this is done because all of our images are default buster now. @oleg-nenashev is that correct?

Yes. We merged https://github.com/jenkinsci/docker-agent/pull/106 , and Buster is a default image starting from jenkins/agent:4.3-2: https://github.com/jenkinsci/docker-agent/releases/tag/4.3-2 . So this part is delivered in the default images  starting from jenkins/inbound-agent:4.3-2

Thanks @krichter722 for the update! I will close this PR as discussed above


[Distributed] Invoking distributed func defined via extension crashes on x86

Resolves rdar://91888361
Making sure such calls still call the remote impl and don't get tricked by the existential.
This is super important that this always works, so making sure by including the tests.

@swift-ci please smoke test

@swift-ci please smoke test

This does crash indeed...

I believe this https://github.com/apple/swift/pull/58745 might also fix this -- Checking...

This is now crashing like:
+ /usr/bin/env DYLD_LIBRARY_PATH=/Users/ktoso/code/swift-project/build/Ninja-RelWithDebInfoAssert/swift-macosx-x86_64/lib/swift/macosx /Users/ktoso/code/swift-project/build/Ninja-RelWithDebInfoAssert/swift-macosx-x86_64/test-macosx-x86_64/Distributed/Runtime/Output/distributed_actor_hop_to.swift.tmp/a.out
+ /usr/local/bin/python3 /Users/ktoso/code/swift-project/swift/utils/PathSanitizingFileCheck --allow-unused-prefixes --sanitize BUILD_DIR=/Users/ktoso/code/swift-project/build/Ninja-RelWithDebInfoAssert/swift-macosx-x86_64 --sanitize SOURCE_DIR=/Users/ktoso/code/swift-project/swift --use-filecheck /Users/ktoso/code/swift-project/build/Ninja-RelWithDebInfoAssert/llvm-macosx-x86_64/bin/FileCheck /Users/ktoso/code/swift-project/swift/test/Distributed/Runtime/distributed_actor_hop_to.swift --color
objc[15800]: autorelease pool page 0x1089a9000 corrupted
  magic     0x00000010 0x00000000 0x0898b11c 0x00000001
  should be 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341
  pthread   0x0
  should be 0x700005bbd000

@swift-ci please test

It only fails on optimized build it seems.

bad:
lit.py: /home/build-user/swift/test/lit.cfg:2620: note: Available features: CMAKE_GENERATOR=Ninja, CODEGENERATOR=AArch64, CODEGENERATOR=ARM, CODEGENERATOR=Mips, CODEGENERATOR=PowerPC, CODEGENERATOR=SystemZ, CODEGENERATOR=X86, CPU=x86_64, OS=linux-gnu, PTRSIZE=64, SWIFT_VERSION=4, VENDOR=unknown, asan_runtime, asserts, autolink-extract, bootstrapping_mode, concurrency, concurrency_runtime, cplusplus_driver, crash-recovery, differentiable_programming, distributed, executable_test, fuzzer_runtime, lld_lto, lldb, long_test, no_asan, no_lto, optimized_stdlib, optimized_stdlib_x86_64, reflection, scudo_runtime, shell, sourcekit, standalone_build, static_stdlib, stress_test, string_processing, swift-remoteast-test, swift_in_compiler, swift_interpreter, swift_only_stable_abi, swift_stdlib_no_asserts, swift_test_mode_optimize, swift_test_mode_optimize_x86_64, thread_safe_runtime, threading_linux, tools-release, ubsan_runtime

This was fixed a while back it seems


Simplify luck // Don't Shadow Symbol()

Simplifies luck code to be calculated during symbol scoring
Renames Symbol class to Symb to avoid shadowing the Javascript builtin

The name is bad but it will do until we come up with a better one

Catalog symbol loading verifies Symb before adding (bugfix)
Adds preliminary .vscode files for shared format settings - avoids build tooling for another day, not the best solution
Category improvements: use Symbol constants instead of loose strings
"Unbuyable" category for blank space and bubble. Can add to others as needed.

Wow, thanks! LGTM.

I think there is a bug here, luck is reset at the wrong time probably. Or we need to keep track of last turn's luck.


Login with Figma (or How can I implement a custom OAuth provider?)

Is your feature request related to a problem? Please describe.
nops
Describe the solution you'd like
A list of files I would need to look at / modify would be enough
Describe alternatives you've considered
None, really. Is there one?
Additional context
Figma implements a pretty standard OAuth flow. To be honest, it shouldn't take a dev familiar with nhost more than a couple of hours to implement it. I'm studying the possibility of using Nhost as the backend for a figma plugin and this is a deal-breaker for us.
Figma docs: https://www.figma.com/developers/api#authentication

cc @albnunes


Cannot create recursive function in module

Seems like I cannot create a recursive function inside a module.
extern crate rhai;

use rhai::{Engine, Module, Scope};

const MODULE_TEXT: &str = r#"
fn factorial(n) {
    if n == 1 {
        return 1;
    } else {
        return factorial(n-1);
    }
}
"#;

const SCRIPT: &str = r#"
    import "test_module" as test;
    print(test::factorial(5));
"#;

fn main() {
    let mut engine = Engine::new();
    let module_ast = engine.compile(MODULE_TEXT).unwrap();
    let module = Module::eval_ast_as_new(Scope::new(), &module_ast, &engine).unwrap();
    let mut static_modules = rhai::module_resolvers::StaticModuleResolver::new();
    static_modules.insert("test_module", module);
    engine.set_module_resolver(Some(static_modules));

    engine.consume(SCRIPT).unwrap();
}

Results in: ErrorInFunctionCall("factorial", ErrorFunctionNotFound("factorial (i64)", 6:16), 3:17)
Upon further testing, it also looks like I cannot access other functions defined in the same module either, even though I expect all of those to be in scope.
Am I misunderstanding something, or is this a bug?

Rhai takes an unconventional view towards functions.  Functions are compiled separately from the base code.  They can be taken apart, regrouped, filtered and merged.  In other words, treat each function as an independent entity.  This is to make sure that functions remain pure.
Therefore, in a module, functions cannot depend on each other - there is no guarantee that the other function exist when you run your code.
The standard way to call another function from a function, especially within a module, is to pass a function pointer as an argument.
In your case, the recursive call to factorial attempts to look for a function called factorial in the global namespace, which does not exist.  What exists at that moment is test::factorial.
So my statement above is not 100% correct - not only can you not depend on other functions in the same module, you also cannot depend on itself.

So you can probably try:
test_module.rhai:

fn factorial(n, func) {
    if n == 1 {
        return 1;
    } else {
        return func.call(n-1, func);
    }
}

main.rhai:

fn factorial(n, func) {
    import "test_module" as test;
    test::factorial(n, Fn("factorial"))
}

Is there a way to have a function be able to access the other items anyways? For example, by manipulating the Scope::new() maybe?
Or maybe is it possible to define the function inside another function and have it be in scope then somehow?

A function inside a function is possible, but that's not the current design.  It may be added in a later version.
The current design deliberately decouples functions from each other in order to avoid searching through a scope chain.  That's why you also can't access global variables from functions etc.

Is there a way to have a function be able to access the other items anyways? For example, by manipulating the Scope::new() maybe?

If you're willing to do some plumbing yes.  For example:
test_module.rhai:

fn factorial(n) {
    if n == 1 {
        return 1;
    } else {
        return factorial(n-1) * n;    // <- I'm sure you mean to * n
    }
}

main.rhai:

fn factorial(n) {
    import "test_module" as test;
    test::factorial(n)
}

Notice that the call to factorial in the module matches the function definition of factorial in the global namespace.  This essentially lifts test_module::factorial to the top level.

So what you're saying is that test_module::factorial's call to factorial is actually calling main::factorial in this case?
Will that work out-of-the-box or do I need the plumbing you mentioned?
In that case, can you elaborate a bit on what needs to be done?
I'll mention my use case just in case that helps, I want to make a utility function that operates on a recursive data structure and I want to put it inside a utility module. So
main.rhai:
fn run_this() {
    import "common" as common;
    let data = /* use a rust-implemented module to create the custom type */;
    let data = common::recursively_filter_stuff(data);
}

This works well when recursively_filter_stuff is in main.rhai as well but as I said I want it in a different file to be re-used across many scripts.
Is there currently no way to do some plumbing on the rust side and have it "just work" on the rhai side? Ideally I want to just be able to access the other functions of the module, so something like this works:
main.rhai:
fn run_this() {
    import "test" as test;
    test::foo();
}

test.rhai:
fn bar() {
    print("works!");
}

fn foo() {
    bar();
}

Also maybe there's a way to get a similar result using closures? I'm not quite sure how they work.

Oh and also, I'm not sure I understand what you mean by "scope chain".
I see how you can describe this as a chain:
fn x1() {
    fn x1() {}
    fn x2() {
        x1(); // which x1 do we refer to? It makes sense that the inner x1() is shadowing the outer x1 in this case but this is probably non-trivial to implement
    }
}

But I'm not sure why you're describing this as a chain:
fn foo() { ... }

fn bar() {
    fn baz() {
        foo();     // <- No problem!
    }
    fn boo() {
        baz();    // <- Is this allowed?  If yes, we got a scope chain.
    }

baz inside foo resolves to the only baz in the file, and foo inside baz resolves to the only foo in the file, so I'm not even sure what the implementation problem is.

But I'm not sure why you're describing this as a chain:

Chain = 1) Top-level, 2) bar inner scope, 3) boo inner scope.
The chain extends with each level of internal function nesting.  That's why functions cannot be nested in Rhai.
Searching through a scope chain is very slow and expensive; that's why JavaScript engines are so difficult to optimize.

baz inside foo resolves to the only baz in the file, and foo inside baz resolves to the only foo in the file, so I'm not even sure what the implementation problem is.

Yes, there is no problem with implementing it.  Just need to search through a chain and it'd be slow.

I see. What about my "ideal behavior" that I posted a couple messages back?
You don't need to implement scope chains for that - functions should only be able to access other top-level functions from the same module as them (unless they're using an import of course, in which case it's not really a scope chain since a module import is basically a local variable as far as I understand)

Is there currently no way to do some plumbing on the rust side and have it "just work" on the rhai side? Ideally I want to just be able to access the other functions of the module, so something like this works:

Not easily.  Rhai's modules and functions are very light-weight.  Modules are intended for utilities and other stuff.
It is really not very convenient to write large-scale, multi-module programs in Rhai.  You should try to move as much functionality into Rust as possible.

I see. What about my "ideal behavior" that I posted a couple messages back?

It is possible to develop a custom module resolver that would:

Load a module script
Parse it into an AST and then store it
Register each exported function in that script, delegating to evaluating the function from the AST.
Package it up as a new module (containing the AST)

Such a module resolver is not built-in into Rhai, so somebody must develop it.

Would this be something you consider implementing? I think it's really non-intuitive that a function in the "main module" can access its environment but a function in an imported module cannot... Or at least, that it cannot access its own name.
I'm not even sure why this distinction of main module vs imported module exists, wouldn't it be easier to not have it?
Since modules are imported recursively, I think you can just implement the scopes by piggybacking on the call stack that you get naturally from that.
For example, say this is my implementation of a module resolver:
        let ast = engine.compile_file(path.into())?;
        // Can't function calls be resolved at this point?

        Ok(Module::eval_ast_as_new(Scope::new(), &ast, engine)?)

Oh, I just saw your last message. I see we had the same kind of idea.
Can you give me some pointers on how I would implement that?

Look into modules.rs.
There is FileModuleResolver which is a start.  It is actually embarrassingly simple...
I suggest you extend it via this route;

Instead of calling eval_ast_as_new, store the AST first for future uses.
Create an empty module.
You can call AST::retain_functions to get a list of function names plus the number of arguments.
For each function, register a raw function into the module that evaluates the AST function based on name.  Notice that registering a raw function is an advanced feature.  Check out the chapter on Use the Low-Level API to Register a Rust Function in the Book.
In that raw function, use engine.call_fn_dynamic to call the AST function with the provided arguments.

I don't think I understand how those raw functions will connect to the function call that is somewhere deep inside the AST...
Let's say I do this
let ast = engine.compile_file(path)?;
let module = /* create a module that re-defines all the functions in the ast using a raw function and call_fn_dynamic */;

// Now what? The function calls inside `ast` are still not going to resolve properly

Also, it doesn't look like I can actually get a list of the names and arguments since retain_functions takes a Fn and not a FnMut which would allow me to append them to some vec as a side effect

Would the AST.lib() be better suited here? What's the difference between it and Module::eval_ast_as_new(ast)?

Ahh. I think I see - call_fn_dynamic will use the lib variable to resolve function names while call_fn is probably what is being used by default. Am I getting this right?

It is a bit more involved, it looks like... It requires more plumbing support that I probably need to add.
So, let me try to implement it and see...

I ended up having to modify some internet Rhai API's to implement this.
It seems to work just as you like, so I've made it the default FileModuleResolver.  So in the next version, file-based modules will work as you expect.

@SuperCuber  if you'd pull from this repo, modules should now work as you expect.  Please test.  Thanks.

I will test it tomorrow, thanks for taking the time to make this happen :D

I left some comments on commit c4ec93080e58eb1f48ca4042e35f018ef209e1d3 for now

Just tested it out, looks like it's working exactly like I expect.
I'd add the change to "breaking changes" in RELEASES.md by the way since it's technically one.
One more thing - say I want a custom resolver that has the same functionality, I think this should be made more of a first-class feature by adding a method that makes it "just work" on AST or Module, so that implementing a custom resolver can focus on actually resolving and not just copying the iter_functions loop from FileModuleResolver.
Maybe Module::eval_ast_encapsulated or something?

Maybe Module::eval_ast_encapsulated or something?

Good idea.  I'll put a boolean parameter to Module::eval_ast_as_new so it can go both ways.

:+1:

Closing this for now.  Thanks for the idea!


full version run fit_generator failed

env: tensorflow-gpu 1.15.0，keras 2.3.1，cudakit 10.0.130，cudann 7.6.5
when run full version, encountered following problems, try global_variables_initializer, can't resolve:
2020-04-25 20:43:26.316669: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_100.dll
Traceback (most recent call last):
File "D:/work/py/Coloring-greyscale-images/Full-version/full_version.py", line 112, in
model.fit_generator(image_a_b_gen(batch_size), epochs=1, steps_per_epoch=1)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\engine\training.py", line 1732, in fit_generator
initial_epoch=initial_epoch)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\engine\training_generator.py", line 185, in fit_generator
generator_output = next(output_generator)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\utils\data_utils.py", line 742, in get
six.reraise(*sys.exc_info())
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\six.py", line 703, in reraise
raise value
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\utils\data_utils.py", line 711, in get
inputs = future.get(timeout=30)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\multiprocessing\pool.py", line 657, in get
raise self._value
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\multiprocessing\pool.py", line 121, in worker
result = (True, func(*args, **kwds))
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\utils\data_utils.py", line 650, in next_sample
return six.next(_SHARED_SEQUENCES[uid])
File "D:/work/py/Coloring-greyscale-images/Full-version/full_version.py", line 97, in image_a_b_gen
embed = create_inception_embedding(grayscaled_rgb)
File "D:/work/py/Coloring-greyscale-images/Full-version/full_version.py", line 81, in create_inception_embedding
embed = inception.predict(grayscaled_rgb_resized)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\engine\training.py", line 1462, in predict
callbacks=callbacks)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\keras\engine\training_arrays.py", line 324, in predict_loop
batch_outs = f(ins_batch)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow_core\python\keras\backend.py", line 3476, in call
run_metadata=self.run_metadata)
File "D:\ProgramData\Anaconda3\envs\tf1_gpu\lib\site-packages\tensorflow_core\python\client\session.py", line 1472, in call
run_metadata_ptr)
tensorflow.python.framework.errors_impl.FailedPreconditionError: 2 root error(s) found.
(0) Failed precondition: Error while reading resource variable batch_normalization_177/beta from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/batch_normalization_177/beta)
[[{{node batch_normalization_177/cond/ReadVariableOp}}]]
[[predictions/Softmax/_7]]
(1) Failed precondition: Error while reading resource variable batch_normalization_177/beta from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/batch_normalization_177/beta)
[[{{node batch_normalization_177/cond/ReadVariableOp}}]]
0 successful operations.
0 derived errors ignored.

Alpha and beta version can work normally in the same enviroment.
In the full version, if I replaced the following code in create_inception_embedding function ,the code could continue to run.
with inception.graph.as_default():
embed = inception.predict(grayscaled_rgb_resized)
But, I tested the create_inception_embedding function with a single input tensor, it could work.

I have changed to tensorflow 2.1 env, and it's ok now.

But I don't know why the problems above occurred yet...

@broadwit I think you will have to call .fit, instead of .fit_generator for tensorflow 2

@broadwit can you please send the code that you changed?
I'm stuck on the same issue

Sorry wrong user here...
On Fri, 19 Mar 2021, 12:27 pm jeanpierrefakhry, @.***>
wrote:

@broadwit https://github.com/broadwit can you please send the code that
you changed?
I'm stuck on the same issue
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/emilwallner/Coloring-greyscale-images/issues/12#issuecomment-802956181,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANMTVEBAHGXC2OXFMX55G2TTEN3PXANCNFSM4MQXPTRA
.

What @Maitreya-Stark ? i didn't really understand what you said

@GreihMurray I solved this issue by replacing
inception = InceptionResNetV2(weights='imagenet', include_top=True)
inception.graph = tf.get_default_graph()

with
graph = tf.Graph()
with graph.as_default():
    sess = tf.compat.v1.Session(graph=graph)
    with sess.as_default():
        inception = InceptionResNetV2(weights='imagenet', include_top=True)
        inception.graph = tf.compat.v1.get_default_graph()

Hope that helps!

@jeanpierrefakhry hey thanks for the reply, just to be clear, is that running with the up to date versions of tenserflow and keras?

@GreihMurray tensorflow 2.1.0

Awesome, thank you

@jeanpierrefakhry what was the verison for keras you have used? Thanks


use nested templates and make header/footer/nav reusable

all html views right now are copy-pasta and nothing is re-used, mostly the header and footer which can be plugged into a nested template and included in the view could simplify a lot the html and the overall maintenance of the views
https://pkg.go.dev/text/template#hdr-Nested_template_definitions

for instance this would look like something like this
footer.html
{{define "footer"}}
  <syle type="text/css"> /** all css used only by the footer here **/</style>
  <script>/** all js used only by the footer here **/</script>
  <footer>
    <p>
      Golang Cafe ...
    </p>
  </footer>
{{end}}

landing.html
<html>
// ...
<body>
// ...
</div>
{{ template "footer" }}
</body>
</html>

Not sure if this exactly works like this but i can see that is possible to import and include other html files/templates in any Go html file template
https://stackoverflow.com/questions/33984147/golang-embed-html-from-file

Potentially there are a lot of components that can be extracted into a re-usable template, some that come to mind:

footer
navbar
newsletter banner
newsletter box
company item in search (probably?)
job item in search (probably?)
developer item in search (probably?)

any of these will be a template file ending in .html and will include all the re-usable HTML/CSS/JS. Most of these will also have to take Go template variable as parameters. Like for instance the navbar will take active page so we can know how to underline a given nav/menu entry.
It will need a little research and trial so we can start just by extracting footer or nav

for the approach please see discussion here https://github.com/golang-cafe/golang.cafe/pull/39#issuecomment-1046150761
Would be good to have different html template with css js html so that these get included/imported in the right locations (head for styles, end of body for javascript and wherever is needed for html)

already started on this with newsletter template and others, could do the same for various re-usable components:

header
footer
etc


Create basic structure for the frontend

[ ] Look for guides that suggests how to structure a flutter app
[ ] Decide what we use
[ ] Document the decision here or in the wiki or in a readme whatever...
[ ] Create the required structure in the frontend project

https://medium.com/flutter-community/flutter-code-organization-de3a4c219149


audio/vorbis: Use streaming API of stbvorbis.js on browsers

For wasm, stbvorbis.js is not used.
Then, this fix is only for GopherJS, which is not updated actively now. I'll fix critical bugs for GopherJS, but this issue is not critical.

Now oggvorbis seems fast enough for Wasm...


convolutions session

WIP for session on convolutions to model data generation

@seabbs if this looks broadly OK now let's convert remaining discussion points to issues and merge as the R session re-uses code in here

just looking it over


How do you auth?

I see a field for the URL but not the token. How should we provide a token for authentication.

@maddox Hey thanks for opening this! I have my instance set to show blood sugars publicly so auth completely slipped my mind. I'll add token support and post back soon.

@maddox Strange. I set AUTH_DEFAULT_ROLES=denied for my Nightscout instance, and I can still access the API this app uses. Can you hit /api/v2/properties/bgnow,buckets,delta,direction on your personal instance? What do you see?

Wow, they came right through.


Package name conventions. API vs impl (maybe internal?) packages

These are the imports of ZigBeeConsole:
import org.apache.commons.io.FileUtils;
import org.bubblecloud.zigbee.api.Device;
import org.bubblecloud.zigbee.api.DeviceListener;
import org.bubblecloud.zigbee.api.ZigBeeApiConstants;
import org.bubblecloud.zigbee.api.ZigBeeDeviceException;
import org.bubblecloud.zigbee.api.cluster.Cluster;
import org.bubblecloud.zigbee.api.cluster.general.LevelControl;
import org.bubblecloud.zigbee.api.cluster.general.OnOff;
import org.bubblecloud.zigbee.api.cluster.impl.api.core.Attribute;
import org.bubblecloud.zigbee.api.cluster.impl.api.core.ReportListener;
import org.bubblecloud.zigbee.api.cluster.impl.api.core.Reporter;
import org.bubblecloud.zigbee.api.cluster.impl.api.core.ZigBeeClusterException;
import org.bubblecloud.zigbee.api.cluster.general.ColorControl;
import org.bubblecloud.zigbee.network.NodeListener;
import org.bubblecloud.zigbee.network.ZigBeeNode;
import org.bubblecloud.zigbee.network.ZigBeeNodeDescriptor;
import org.bubblecloud.zigbee.network.ZigBeeNodePowerDescriptor;
import org.bubblecloud.zigbee.network.discovery.LinkQualityIndicatorNetworkBrowser.NetworkNeighbourLinks;
import org.bubblecloud.zigbee.network.discovery.ZigBeeDiscoveryManager;
import org.bubblecloud.zigbee.network.impl.ZigBeeNetworkManagerException;
import org.bubblecloud.zigbee.network.impl.ZigBeeNodeImpl;
import org.bubblecloud.zigbee.network.port.ZigBeePort;
import org.bubblecloud.zigbee.network.model.DiscoveryMode;
import org.bubblecloud.zigbee.util.Cie;

ZigBeeConsole needs to use many impl packages. What is the name convention here? Should we consider impl packages the same as internal (which should maybe preferred), something the application should try to avoid?
Pragmatically, the question arises from trying to OSGi-fy (see #62) the API with the maven-bundle-plugin.
By default this plugin will not export packages containing impl or internal.
Also, I think that some of the classes imported above should be move in non impl packages, for example org.bubblecloud.zigbee.api.cluster.impl.api.core.Attribute it's just an interface and it's clearly part of the API.
Another example are Exceptions: org.bubblecloud.zigbee.api.cluster.impl.api.core.ZigBeeClusterException and org.bubblecloud.zigbee.network.impl.ZigBeeNetworkManagerException.
Also, I don't quite understand the overall name convention:

org.bubblecloud.zigbee.api.Device // OK with this
org.bubblecloud.zigbee.network.NodeListener // Why not org.bubblecloud.zigbee.network.api.NodeListener?
org.bubblecloud.zigbee.api.cluster.impl.api.core.Attribute // What does this mean?

There are many other examples. We can improve a little bit the situation but that would mean breaking the current "API".

Hi, the package structure can be refactored. Please let me know well in advance if you want to do it and execute in shortest possible order to avoid collisions ,)

Let’s make sure the versions are handled if we do a major change like this. I’m also ok with refactoring to make the library cleaner, but I think we need to make the versioning correct so we’re not caught out…

On 1 Apr 2016, at 23:21, Tommi S.E. Laukkanen<EMAIL_ADDRESS>wrote:
Hi, the package structure can be refactored. Please let me know well in advance if you want to do it and execute in shortest possible order to avoid collisions ,)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub https://github.com/tlaukkan/zigbee4java/issues/70#issuecomment-204590840

Hi
Agreed. It would be nice to make a stable release as well. I think we got
some of the bugs out now but more testing is needed...
-Tommi
On 2 Apr 2016 15:59, "Chris Jackson"<EMAIL_ADDRESS>wrote:

Let’s make sure the versions are handled if we do a major change like
this. I’m also ok with refactoring to make the library cleaner, but I think
we need to make the versioning correct so we’re not caught out…

On 1 Apr 2016, at 23:21, Tommi S.E. Laukkanen<EMAIL_ADDRESS>wrote:
Hi, the package structure can be refactored. Please let me know well in
advance if you want to do it and execute in shortest possible order to
avoid collisions ,)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub <
https://github.com/tlaukkan/zigbee4java/issues/70#issuecomment-204590840>

—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/tlaukkan/zigbee4java/issues/70#issuecomment-204712214

Lets move the code related to the old ZigBee API to separate project. The Simple ZigBee API will not have these package structure issues.

This has been fixed in v3 packaging. The legacy module packages still contain same structure for backwards compatibility.


map_blocks returning pd.DataFrame fails with block_info parameter

import dask.array as da
import dask.dataframe as dd
import numpy as np
import pandas as pd

np.random.seed(42)
a = da.random.random(size=(100, 100), chunks=(10, 10))

def test1(x):
    return pd.DataFrame({"x": np.arange(4), "y": np.arange(4), "z": ["a", "b", "c", "d"]})

def test2(x, block_info=None):
    return pd.DataFrame({"x": np.arange(4), "y": np.arange(4), "z": ["a", "b", "c", "d"]})

meta = dd.utils.make_meta([("x", np.int64), ("y", np.int64), ("z", object)])
df1 = da.map_blocks(test1, a, drop_axis=1, meta=meta).compute()  # works
df2 = da.map_blocks(test2, a, drop_axis=1, meta=meta).compute()  # fails with AttributeError: 'DataFrame' object has no attribute 'chunks'

Thanks @joshua-gould .  I can easily reproduce with what you have above.  It seems that when block_info is provided dask is in code path which assumes an Array collection https://github.com/dask/dask/blob/484fc3f1136827308db133cd256ba74df7a38d8c/dask/array/core.py#L901-L926
This is obviously a problem as meta is coercing the collection into a resulting Dataframe.  I don't think we can just swap out partitions for chunks [here](https://github.com/dask/dask/blob/484fc3f1136827308db133cd256ba74df7a38d8c/dask/array/core.py#L926C23-L926C36
Would it be possible to convert the array to a dataframe and call map_partitions instead:

a.to_dask_dataframe().map_partitions(test2)

I'm trying to extract the indices and values of a 2-d array where the value > 0. I have a solution below using dask.delayed:
import dask
import dask.array as da
import dask.dataframe as dd
import numpy as np
import pandas as pd
from dask.array.core import slices_from_chunks

x = da.random.random((24, 24), chunks=(5, 6))
# numpy solution
_x = x.compute()
_indices = np.where(_x > 0)
df = pd.DataFrame({"value": _x[_indices], "y": _indices[0], "x": _indices[1]})

@dask.delayed
def process_chunk(a, offset):
    indices = np.where(a > 0)
    y = indices[0] + offset[0]
    x = indices[1] + offset[1]
    return pd.DataFrame({"value": a[indices], "y": y, "x": x})

output = []
for s in slices_from_chunks(x.chunks):
    r = process_chunk(x[s], (s[0].start, s[1].start))
    output.append(r)
meta = dd.utils.make_meta([("value", x.dtype), ("y", np.int64), ("x", np.int64)])
ddf = dd.from_delayed(output, meta=meta).compute()

# compare with numpy
df = df.sort_values(["y", "x", "value"]).reset_index(drop=True)
ddf = ddf.sort_values(["y", "x", "value"]).reset_index(drop=True)
pd.testing.assert_frame_equal(df, ddf)

Hmm, could you instead do this with nonzero and a mask ?
arr = np.array([[-1, 2, 0], [4, -5, 6], [0, 0, 7]])
arr = da.from_array(arr)
indicies = da.nonzero(arr > 0) # or rely on dispatching with np.nonzero
arr[arr >0]

Thanks for your response. I'm not sure how to create a dask dataframe using this approach. I tried:
x = da.random.random((24, 24), chunks=(5, 6))
indices = da.where(x > 0)
vals = x.reshape(-1)[indices[0] * x.shape[1] + indices[1]]

ddf = dd.concat(
    [
        dd.from_array(vals, columns=["value"]),
        dd.from_array(da.stack(indices, axis=1, allow_unknown_chunksizes=True), columns=["y", "x"]),
    ],
    axis=1,
).compute()

But I get the warnings:
dask/array/slicing.py:1089: PerformanceWarning: Increasing number of chunks by factor of 20
  p = blockwise(
dask_expr/_concat.py:146: UserWarning: Concatenating dataframes with unknown divisions.
We're assuming that the indices of each dataframes are
 aligned. This assumption is not generally safe.


Territories in The Netherlands

Commit d0785051446124936134ae566a17d84d84879fb4 added territories to The Netherlands. I would like to ask why these territories were added. Curaçao, Sint Maarten and Aruba are countries within the kingdom of The Netherlands. Bonaire, Saba and Sint Eustatius are not provinces but special municipalities of The Netherlands (the country). What is the policy to include them?

I became a maintainer of this project long after it was created by @substack, so I can't speak to why certain decisions were made. If you have a good understanding of the geography of the Netherlands (which I suspect you do), feel free to open a pull request that corrects the data.


chore: release v4.47.0

This pull request prepares the following release:

Repository
Branch
Update
Change

instantsearch.js
releases/v4.47.0
minor
4.46.3 → 4.47.0

Release Summary
This is going to be published with the following command:
yarn publish --no-git-tag-version --non-interactive --tag latest
Merging Instructions
When merging this pull request, you need to Squash and merge and make sure that the title starts with chore: release v4.47.0.

See details
After that, a commit chore: release v4.47.0 will be added and you or your CI can run shipjs trigger to trigger the release based on the commit.

This pull request is automatically generated by Ship.js.

@Haroenv @dhayab  We can wait until your PRs are merged and you rebase them here to merge this one.

could we include https://github.com/algolia/instantsearch.js/pull/5127 @sarahdayan ?


Update translations.js

Korean translation added

Please combine this PR with https://github.com/MichMich/MagicMirror/pull/698


On Ubuntu 22.04 Wayland session, assigning Focus Terminal to "Ctrl + $" assigns to "Ctrl + Y" instead

Type: Bug
On Ubuntu 22.04 Wayland session, assigning Focus Terminal to "Ctrl + $" assigns to "Ctrl + Y" instead.

Assign 'Focus Terminal' to "Ctrl + $". Press "Enter".
Observe that 'Focus Terminal' has been in fact assigned to "Ctrl + Y".

VS Code version: Code 1.75.0 (e2816fe719a4026ffa1ee0189dc89bdfdbafb164, 2023-02-01T15:29:17.766Z)
OS version: Linux x64 6.0.12-76060006-generic
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (8 x 3262)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
2, 1, 1

Memory (System)
15.53GB (9.03GB free)

Process Argv
--ozone-platform-hint=auto

Screen Reader
no

VM
0%

DESKTOP_SESSION
pop-wayland

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
pop-wayland

XDG_SESSION_TYPE
wayland

Extensions (7)

Extension
Author (truncated)
Version

githistory
don
0.6.19

vscode-language-pack-fr
MS-
1.75.2023020109

isort
ms-
2022.8.0

python
ms-
2023.2.0

vscode-pylance
ms-
2023.2.10

vscode-yaml
red
1.11.0

material-theme
zhu
3.15.6

(12 theme extensions excluded)

This seems to be a regression from: 1.74.3-1673284829
Another combination i noticed is: ctrl+# (ctrl+[Backslash]) which is parsed correctly but then ctrl+Y is assigned instead.

this seems to be related, if not the same as #173280

I did a quick bisect and it seems the error was introduced in: 275bc8456ea520659a6878b8e7d111d5e3bd2508

I have the same issue when assigning "ctrl + #" to the "toggle line comment" action.
(german keyboard layout)

Let's track in #173325

Thanks for the fix!


The sharpness of the interface is lost.

When I use VS Code, after some time (less than 30 minutes) the sharpness of the interface is lost. After a reboot, sharpness grows for less than 30 minutes.
Windows 10 2004
Latest VS Code

Please try running with GPU disabled.

@Goldfor have you tried running with hw acceleration disabled per https://github.com/microsoft/vscode/issues/100661#issuecomment-647073976 ? If so, can you check the issue still happens with latest insiders https://code.visualstudio.com/insiders


Keycloak SAML Auth won't work in keycloak 6.0.0 release

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Following documentation steps to setup Keycloak SAML Auth [1]    SAML Metadata IDPSSODescriptor option should be choosed as format options.
This options is not available anymore in Keycloak 6.0.0
[1] https://rancher.com/docs/rancher/v2.x/en/admin-settings/authentication/keycloak/
[2] https://issues.jboss.org/browse/KEYCLOAK-3373
Result:
No SAML connect with Keycloak 6.0.0
Other details that may be helpful:
Works out of the box for Keycloak 5.0.0
Environment information

Rancher version 2.2.6
Installation option HA

thx @mrajashree - works for me in Rancher 2.2.8 with Keycloak 6.0.1


Append global values dynamically to CSS property hints

Move the global CSS values to a separate file.
Append them dynamically to the hint list.
Alphabetically sort CSS properties and their values on CSSProperties.json.

Buggy. Closing for now.

Adding reference https://github.com/adobe/brackets/pull/14014

I’m no longer working on this, so closing.


Unable to install package

Dear：
I am installing the package, however, get the following error:
ERROR: Ignored the following versions that require a different python version: 0.27.3 Requires-Python >=3.7, !=3.11.*
ERROR: Could not find a version that satisfies the requirement torch<2.0,>=1.13 (from auton-survival) (from versions: 2.0.0, 2.0.1, 2.1.0)
ERROR: No matching distribution found for torch<2.0,>=1.13
Is this package not suitable for python3.11 and torch2.0? If not, is there a suitable version for python3.11 and torch2.0?

Hi @wuduxunran, thanks for reaching out 🙂 we're working on this issue #136, as you can see allowing torch v2 creates some problems in <3.11 builds: I need to understand how to handle this with poetry.
In the meantime, if you want to try using auton-survival with torch 2, you can use the following pyproject.toml (or install with pip as a VCS dependency):
[tool.poetry]
name = "your-package"
version = "0.1.0"
description = ""
authors = ["Name Surname<EMAIL_ADDRESS>readme = "README.md"
packages = [{include = "your_package"}]

[tool.poetry.dependencies]
python = "~3.11"
auton-survival = {git = "https://github.com/matteo4diani/auton-survival.git", rev = "dev-mfordiani-135-torch-2"}

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

你好！谢谢你的祝福！！也祝你笑口常开，生活幸福！

Thank you for your valuable response, your assistance was incredibly helpful in resolving this question.


Add support for global navigation with camera off.

@Mergifyio backport release/2.11.x

@Mergifyio backport release/2.11.x


Copy subgraphs between shards

With this PR, subgraphs can be copied from one shard to another shard. The system can now deal with multiple copies of the same deployment hash existing side by side. These copies need to be in different shards (there's little point in having the same data duplicated in the same database), and only one of these copies (the 'active' one) will be used to respond to queries.
Copying is initiated by running graphman copy create ..., and queries can be switched to the copy with graphman copy activate .. once the copy has finished. Behind the scenes, copying uses most of the grafting machinery from #2293. In addition, all operations make sure that they now uniquely identify the precise copy of a deployment using a DeploymentLocator on the write path for a subgraph (encapsulated in a WritableStore) For queries, the QueryStore automatically picks the active copy of a subgraph. Within the store, deployments are now identified by the id of the deployment_schemas table; DeploymentLocator encapsulates that so that the rest of the code can be oblivious to that.
The system is limited to 5 active copy/graft operations per index pod. In the future, it might be better to limit this systemwide. The limit is hardcoded, but it would be easy to make that configurable in graph-node.toml
While a copy/graft is under way, progress is printed approximately every 3-5 minutes; the progress message looks like
INFO Copied 68.36% of `UpdateOperator` entities (150000/219432 entity versions), 36.60% of overall data,
         dst: sgd139, subgraph_id: QmXB2mf78FTeXPFT7R7LUiUGNxypTbDnoMXYGu7oRAfh9z,
         component: SubgraphInstanceManager

A copy/graft can be cancelled by unassigning the destination deployment. That will (with some delay of up to 5 minutes) lead to the copy process stopping, and the subgraph being stopped.
A list of active copies can be generated with graphman copy list:
------------------------------------------------------------------------------
deployment           | QmQx9BPnarDU29c1vroiWCBd4wrZuMpngvA6peuSB2Kzy6
action               | sgd120 -> sgd141 (shard_1)
started              | 2021-04-06T00:17:41+00:00
progress             | 12.51% done, 310000/2477526
------------------------------------------------------------------------------
deployment           | QmRuorV4Ck1sVdpfpAAwfYXnf3cfSkbDwZvvzWud9SH8Dg
action               | sgd130 -> sgd145 (shard_1)
queued               | 2021-04-06T00:18:16+00:00
------------------------------------------------------------------------------
deployment           | QmRpG1kMLJxnruvCScfs4JYPeHJEnJk1ZsEdhpfqaGPUHs
action               | sgd19 -> sgd146 (shard_1)
cancel requested     | 2021-04-06T00:22:30+00:00
------------------------------------------------------------------------------
deployment           | QmSsv4sJNwyEkSmwWgErmHS4tneAuVEoChSRNcyXSE1mjG
action               | sgd43 -> sgd142 (shard_1)
cancelled            | 2021-04-06T00:22:56+00:00

The details of a copy operation can be printed with graphman copy status <dst> which prints something like
src          | 122
dst          | 144
target block | 12152039
duration     | 25m
status       | .

         entity type           |   next   |  target  |  batch   | duration
--------------------------------------------------------------------------
> Loan                         |   637909 |  1283075 |   144322 |      19m
. Poi$                         |        0 |   108543 |    10000 |      0ms
✓ Pool                         |   113975 |   113974 |   160000 |     112s
✓ Proxy                        |       22 |       21 |    20000 |     40ms

To help clarify the distinction between internal and external identifier of a deployment, I plan on renaming SubgraphDeploymentId to DeploymentHash. Since this is a very boring, but very intrusive change, I will do that in a separate PR; that's the reason why a lot of code now has variables hash: SubgraphDeploymentId.
This PR sits on top of #2293.

Addressed review comments

Addressed review comments for reals this time (including the ones that GH hid from me)

I added one more commit to make sure that copied error messages do not cause a constraint violation because of the (id, block_range) exclusion constraint


V2 Theme generator and doc updates

Linked Issue
Closes #1781
Description

[x] Updates the getting started instruction @ /docs/get-started (manual tab)
[x] Updates the Themes documentation @ /docs/themes
[x] Updates the theme generator install documentation @ /docs/generator
[x] Updates the theme generator to output the v2 CSS-in-JS format

Changsets
Instructions: Changesets automate our changelog. If you modify files in /packages/skeleton, run pnpm changeset in the root of the monorepo, follow the prompts, then commit the markdown file. Changes that add features should be minor while chores and bugfixes should be patch. Please prefix the changeset message with feat:, bugfix: or chore:.
Checklist
Please read and apply all contribution requirements.

[x] This PR targets the dev branch (NEVER master)
[x] Documentation reflects all relevant changes
[x] Branch is prefixed with: docs/, feat/, chore/, bugfix/
[x] Ensure Svelte and Typescript linting is current - run pnpm check
[x] Ensure Prettier linting is current - run pnpm format
[x] All test cases are passing - run pnpm test
[x] Includes a changeset (if relevant; see above)

@AdrianGonz97 I'm adding you as a reviewer to ensure all technical details are correct.
@niktek I'm adding you to verify the CLI follows this instruction
@Sarenor I'm going to ping you as well to review the general flow of the information and to help proofread.
I've rewritten large portions of the pages so it can't hurt for everyone to proof this.

@AdrianGonz97 I did one more pass through to improve some of the text. I also implemented a section on the Theme Generator page noting the v1 to v2 migration tool. I plan to write up a proper migration guide on GitHub in around launch, so we can include both the guide and tool link straight from that page soon.


mtad generation changes the type attribute from "java" to "java.tomcat"

Do you want to request a feature or report a bug?

Please search existing issues to avoid creating duplicates. https://github.com/SAP/cloud-mta-build-tool/releases.
Also please test using the latest version build to make sure your issue has not already been fixed:

Please provide the following info:

MBT Version: 1.2.7
OS Version: MacOS
If possible, provide a link to the project.

Steps to Reproduce:
For a module of type java, while generating the mta deployment descriptor the mta build automatically changes the type attribute to "java.tomcat".
However, we would like to run applications on main java only without any tomcat add ons.
This is well supported by SAP BTP sap_java_buildpack as mentioned here in SAP Help.
https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/83d241613dcd41c99ccc308ed0d26399.html?locale=en-US#loio8a1786acd70445768b35e50f3038a2a9
Please suggest something urgently so that the type attribute is not changed automatically.

Hi,
I have not tried this solution myself, but it may work.
Try to define the module type as 'custom' and specify 'sap-java-buildpack' as a value of the 'buildpack' module parameter (here) for more details.
Also, you need to add builder parameters so that your module is build as java type. Set 'maven' for the builder type as described here.
Regards
Natalia

The workaround works, but can this be resolved in the newer version?


feat!: bump minimum node version to 18

Description
Bump the packages in this monorepo to require minimum node 18. Not sure if we need to bump to a specific minor version of 18, currently have it at 18.0.0
Additional context

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

/ecosystem-ci run

Let's wait a bit with this one, asking for feedback about when WebContainers will move to Node 18. I tried codeflow and it works apart from a few warnings so we could also merge it before we release the first alpha/beta.

If we bump to 18.4.0, we can simplify this part.
https://github.com/vitejs/vite/blob/6cb397fd2de29a57ba67962b7865ff310aed4d70/packages/vite/src/node/utils.ts#L924-L926
(Because it will include https://github.com/nodejs/node/pull/43054)
That said, I think it's fine going with 18.0.0 as this is a tiny one.

The version in StackBlitz should be updated after Node 16 EOL, let's move forward with this one. It stills works, there is only a warning.
I already removed node-14 and node-16 from the test matrix.


Plugin Request: nuke classes and nuke ids

For a purpose like svg-as-img, these are often unnecessary cruft. Would be nice to be able to remove entirely.

Well, unused ids are already being stripped. For classes svgo just don't understand CSS in ‘style’ tag, unfortunately.

removeAttrs plugin should do the job.