Docz v2 docz dev crashes with FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

Bug Report
When I run docz dev it takes forever and a day then crashes out with a memory leak.
To Reproduce
A reproduction repo isn't really doable as this is coming from a large monorepo and might be an issue of Docz trying to parse too much stuff in my sources. Providing the relevant config files.
// doczrc.js
module.exports = {
  base: '/citadel',
  description: 'The home for Execute projects.',
  typescript: true,
  menu: [
    {
      name: 'General Information',
      route: '/',
      menu: [
        'Introduction',
        'Contributor Guide',
        'Maintainer Guide',
        'Supporting Legacy Packages',
        'Citadel Combined Changelog',
      ],
    },
    {
      name: 'Agile Dialogs',
      route: 'agile-dialogs',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'API Client',
      route: 'api-client',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Breadcrumbs',
      route: 'breadcrumbs',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Calendar',
      route: 'calendar',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Config',
      route: 'config',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'I18N',
      route: 'i18n',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Iteration Header',
      route: 'iteration-header',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Notification Hub',
      route: 'notification-hub',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Rich Text Editor',
      route: 'rich-text-editor',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Subscribe Button',
      route: 'subscribe-button',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Summary Container',
      route: 'summary-container',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Team Core',
      route: 'team-core',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Team Header',
      route: 'team-header',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Team Settings',
      route: 'team-settings',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'Update Stream',
      route: 'update-stream',
      menu: ['Guide', 'Changelog'],
    },
    {
      name: 'User Header',
      route: 'user-header',
      menu: ['Guide', 'Changelog'],
    },
  ],
  title: 'Execute Citadel',
  themeConfig: {
    colors: { primary: '#fd0e35' },
  },
};

// gatsby-node.js
exports.onCreateWebpackConfig = ({ actions }) => {
  const path = require('path');
  const root = path.resolve(__dirname, '..'); // we're in the .docz/ execution
  const DOCS_ROOT = path.resolve(root, 'docs');
  actions.setWebpackConfig({
    resolve: {
      alias: {
        '@components': `${DOCS_ROOT}/components`,
        '@images': `${DOCS_ROOT}/images`,
        '@splitsoftware/splitio': path.resolve(
          root,
<EMAIL_ADDRESS>        ),
      },
    },
    module: { rules: [{ test: /\.css|html$/, use: 'raw-loader' }] },
  });
};

My docs are either in the DOCS_ROOT for general purpose docs pertaining to the whole monorepo and the rest are in packages/*/docs
Expected behavior
That the dev server would start up and not crash and that the entire extra effort of using Gatsby for v2 would result in a less slow start up instead of slower.
Environment

docz version: 2.1.1
OS: OSX 10.14.6
Node/npm version: Node 12.x & Yarn 1.x.

Hello @wldcordeiro,
Please provide the output of docz dev before it runs out of memory, to help us know where the bottleneck you're facing is.
In parallel, could you try updating to the next tag :
yarn add docz@next

Then in your doczrc.js add :
src: "packages" // or DOCS_ROOT

I know you have the rest in another package, I'm just trying to see if limiting the amount of parsed files helps or if it's from something else.
If you're still getting slow build after doing the above, try setting propsParser to false and see if it helps.
If it does than we'll make src accept an array and you will be able to do :
src: [DOCS_ROOT, "packages"]

the entire extra effort of using Gatsby for v2 would result in a less slow start up instead of slower.

The "entire extra effort" was made for many reasons not for : "a less slow start up".
Anyway, we're very happy to take PRs if you have suggestions on how we can make it faster 👍

I ran into a similar issue that I fixed by setting an array of regex using the files config flag.
For example :
// doczrc.js
{
  files: ['./DOCS_ROOT/**/*.mdx', './packages/*/README.md', './README.md'],
}

I'll give that a try and report back.

Hi @rakannimer, I've got the same issue here on docz 2.2.0, node 12.*, lerna 3.*. We've got a large monorepo with 5-6 UI apps and 5-6 API apps. The only difference is that we're running it on lerna rather than yarn and yarn workspaces. We also define our packages separately in lerna, we don't have a packages directory.
"packages": [ "z_ui", "y_ui", "x_ui", ... ]

I tried setting the file config option as you mentioned above for 2 of our UI apps, so we don't look through everything files: ['../x_ui/**/*.mdx', '../y_ui/**/*.mdx']. I also tried setting propsParser: false in doczrc.js, however I'm still getting the memory issue.

So after looking into this further, my issue was with the amount of files being parsed, but not because of the amount of apps in the monorepo. The problem is with the glob posted above:
'../x_ui/**/*.mdx',

The above meant it was searching through all node_modules and symlinked folders. The fix was easy, change the above to:
'../x_ui/src/**/*.mdx',

Key being that the files I actually want to parse are in src, this avoids looking through all of the node_modules and symlinked files.


Job doesn't source ~/.Renvion file

Apparently the ~/.Renvion is an R specific file that has exports and environment variables that the R language runtimes can use. Things like R_LIBS_USER can listed there and picked up.
These scripts do not source that file, yet they do look for env variables like R_LIBS_USER.
These could be exports in a users ~/.bashrc, but As indicated by this discourse topic R users expect ~/.Renviron file to be sourced in both R command line runtimes and RStudio.

Based on this comment it would seem that RStudio does in fact source these files, and we do not need to add any special code to fix this. @johrstrom if you have no objections lets mark this as invalid and close it.

Yea actually rereading the initial comment he says When they start up an Rstudio session, the R_LIBS_USER variable does show as set when checking with Sys.getenv() (complete with proper version replacing the ‘%v’ variable), but does not show up when checking .libPaths().
But we do have this line that will never be populated unless they add to their bashrc and it's only going to cause more confusion.


feat: Add experimental 'show/hide children' instruction - disabled by default

Types of changes

Changes visible to users:

[x] New feature (prefix: feat - non-breaking change which adds functionality)

Issue/discussion: #60

[x] Sample vault (prefix: vault - improvements to the Tasks-Demo sample vault)

Internal changes:

[x] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)

Description
Warning: These instructions may be removed or renamed, and are not (yet) intended for end-user use.
Add two new experimental - and undocumented instructions:
show children
hide children

show children causes Tasks to render nested tasks and list items, and is off by default.
I am not sure whether hide children is really the right vocabulary for this...
Motivation and Context
More work on:

#60

This will allow me to continue making Tasks releases whilst we improve the rendering of nested lines.
How has this been tested?

Automated tests
Exploratory tests

Checklist

[x] My code follows the code style of this project and passes yarn run lint.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] My change has adequate Unit Test coverage.

Terms

[x] My contribution follows this project's contributing guide
[x] I agree to follow this project's Code of Conduct

Hi @ilandikov  - this is just FYI... I'll need to merge it to do a release soon anyway...


Extract and display values from nested objects

I have a data object that I want to use values nested within a field. This would mean that right now I am using x and my y variables are count and timer. I am trying to include a nested object called shifts and get data from there so the data object would look as follows.
$scope.data = {
count: 234,
timer:222,
shifts: {
count:323443,
timer: 234234
}}
I am wanting one of the y values to be shifts.count. is this possible, if so how?
Thanks,
Greg

Hi @BinaryWasteland
you could simply map the nested array to a flat one, here is an example http://plnkr.co/edit/RXmxWSdrNE0G0diWslqh
Let me know if this works for you!
Best,
Christoph

here is the essential part
  var orig_data = [{
    count: 234,
    timer:222,
    shifts: {
      count:323443,
      timer: 234234
    }
  },{
    count: 236,
    timer:228,
    shifts: {
      count:323464,
      timer: 234252
    }
  }];

  // Map the dataset to flat object
  $scope.data = orig_data.map(function(d){
    return {
      x: d.count,
      value1: d.timer,
      value2: d.shifts.count
    }
  });

Hey @chaosmail,
Thanks for the amazingly fast response, I appreciate it. I think this will work but I have only one other question. I am loading the shifts object up dynamically and am new to angular. What I want to do is if there are 3 different shifts then I need value1, value2, etc generated dynamically. Is this possible?
Thanks Christoph!
Greg

Hey again @chaosmail,
An example I have is below:
{
"x": "2015-06-15T20:31:12.210Z",
"count": 12256,
"timer": 57.46,
"trendTimer": 57,
"trendCount": 12256,
"xCountCounter": 1,
"xTimerCounter": 1,
"shifts": [{
"count": 2902,
"timer": 61633.33,
"trendTimer": null,
"trendCount": null,
"shiftCounter": 1,
"startDate":<PHONE_NUMBER>,
"endDate":<PHONE_NUMBER>
}, {
"count": 2902,
"timer": 61633.33,
"trendTimer": null,
"trendCount": null,
"shiftCounter": 2,
"startDate":<PHONE_NUMBER>,
"endDate":<PHONE_NUMBER>
}, {
"count": 2902,
"timer": 61633.33,
"trendTimer": null,
"trendCount": null,
"shiftCounter": 3,
"startDate":<PHONE_NUMBER>,
"endDate":<PHONE_NUMBER>
}],
"countRegLine": 13103,
"timerRegLine": 59.67333333333333
}, {
"x": "2015-06-16T20:31:12.210Z",
"count": 11866,
"timer": 52.5,
"trendTimer": 55,
"trendCount": 12061,
"xCountCounter": 2,
"xTimerCounter": 2,
"shifts": [{
"count": 2764,
"timer": 56738.89,
"trendTimer": null,
"trendCount": null,
"shiftCounter": 4,
"startDate":<PHONE_NUMBER>,
"endDate":<PHONE_NUMBER>
}, {
"count": 2764,
"timer": 56738.89,
"trendTimer": null,
"trendCount": null,
"shiftCounter": 5,
"startDate":<PHONE_NUMBER>,
"endDate":<PHONE_NUMBER>
}, {
"count": 2764,
"timer": 56738.89,
"trendTimer": null,
"trendCount": null,
"shiftCounter": 6,
"startDate":<PHONE_NUMBER>,
"endDate":<PHONE_NUMBER>
}],
"countRegLine": 11346.464285714286,
"timerRegLine": 51.58130952380952
}, etc, etc]
Hope this helps clarify it as I re-read my post and it confused me a little

ok, so the goal is to map the original dataset (the one you posted above) to a flat dataset (that you can input to the visualization) once it is (re-)loaded.
You have 2 possibilies

loaded the dataset (with ngResource or $http and immediately flatten it
watch the original dataset for changes (with $watch) and update a flat dataset whenever the original one changes
The option to choose depends strongly on how you use the dataset in the rest of your application. Let me know which approach you use, then I can give you a specific example implementation!

Also I saw that your shifts attribute contains mutliple objects - whereas the count value in this objects is always the same. Which values do you want to display exactly or do you want to sum them together or sth? There are pretty nice ways to aggregate datasets like yours with D3js; if you can tell me precisely what do you want to display, I could lead you to the right way or give you an example implementation.

Hey @chaosmail,
Yes the shift values contain the same values but I was wanting to just test on multiple shifts pulling them into the same object then push onto the data object. I will need to show the following for shifts:

count
timer
trendCount
trendTimer

I would also need to show those for the base object as well assuming the user wants to switch back from viewing shifts to viewing completed totals. I am thinking on flattening the object i would want to make it look like the following
Data Object:

x (date values)
count
timer
trendCount
trendTimer
shiftCount1
shiftTimer1
shiftTrendCount1
shiftTrendTimer1

(anything with a number at the end I need these to increment by one for every shift defined, in this case 3 but could be any number, but not sure how to accomplish this).
I am wanting to display shifts (1 - whatever) side-by-side for x (the day) and then iterate to the next day and do the same. I have looked into D3js and it does look enticing but it seemed N3-Charts was the easiest route to showing something to customer. I am thinking I may need to switch or at least eventually let the customer choose but for now if I can get N3 working I would be ecstatic.
@chaosmail, I appreciate all the help you are giving I am learning so much, your AWESOME!
Thanks,
Greg

Hi Greg,
first I want to make sure you are able to flatten the array properly; we use map to achieve this in JavaScript.
Here is a detailed example with comments where I walk through your data structure: http://plnkr.co/edit/Ali40NCUy5YW7vEO4p2L
After you have successfully flattened your array, we will look at displaying it and integrating it with AngularJS.
Best,
Christoph

You can also first check the example output of the above plnkr in the embedded view http://embed.plnkr.co/Ali40NCUy5YW7vEO4p2L/preview
The output will appear in the console of the developer tools (press F12 and click on "console")

Hey @chaosmail,
Sorry for the long pause in response. My daughter is taking up most of my time today. I can definitely do that with the data I am just not sure how to recurse in the mapping function to dynamically add the following for however many objects need to be returned based on the number of shifts:
// here we access the values from the nested shifts values
// actually we return values from the first element of each shifts
// elements
shiftCount1: d.shifts[0].count,
shiftTimer1: d.shifts[0].timer,
shiftTrendCount1: d.shifts[0].trendCount,
shiftTrendTimer1: d.shifts[0].trendTimer,
// Actually we could also provide default values
// that we don't have to deal with Null values
shiftCount1Sane: d.shifts[0].count || 0,
shiftTimer1Sane: d.shifts[0].timer || 0,
shiftTrendCount1Sane: d.shifts[0].trendCount || 0,
shiftTrendTimer1Sane: d.shifts[0].trendTimer

Any idea on how I could accomplish this easily and effectively?
Thanks,
Greg

hey @chaosmail,
I ended up taking a different path to map the shifts to main object. I used the following to accomplish dynamic naming:
      for (i = 0; i < $scope.data.length - 1; ++i) {
          for (j = 0; j <= $scope.data[i].shifts.length - 1; ++j) {
            $scope.data[i]['shift' + j + 'count'] = $scope.data[i].shifts[j].count;
            $scope.data[i]['shift' + j + 'timer'] = $scope.data[i].shifts[j].timer;
            $scope.data[i]['shift' + j + 'trendCount'] = $scope.data[i].shifts[j].trendCount;
            $scope.data[i]['shift' + j + 'trendTimer'] = $scope.data[i].shifts[j].trendTimer;
            $scope.data[i]['shift' + j + 'countRegLine'] = $scope.data[i].shifts[j].countRegLine;
            $scope.data[i]['shift' + j + 'timerRegLine'] = $scope.data[i].shifts[j].timerRegLine;
          }
          //flat_data[0]['dynamic'] = 'Sweet Digs';
        }

        console.log($scope.data);
        var addItCount = 0;
        //for(i = 0; i <= $scope.shiftsObj.length - 1; ++i) {
        angular.forEach($scope.shiftsObj, function(value, key) {
          //console.log('shift' + addItCount + $scope.reporting.viewDataOption);
          $scope.options.series.push({
            y: 'shift' + addItCount + $scope.reporting.viewDataOption,
            color: '#' + hexColorRandomizer(),
            type: $scope.graphType,
            axis: 'y',
            striped: true,
            label: toTitleCase($scope.reportLabel + ' of ' + 'shift ' + (addItCount + 1)),
            id: value.id
          });
          addItCount++;
          //console.log();
        });

and then when I click a button to regen charting it will splice the series pushed out. Attached I have an image of the end result :)

Made a random generator for Hex colors so kind of looks ravy but gives the result I am looking for. Few tweaks to make to make it look better but its a start :)

great news, glad that you found a good solution for your problem!
Btw, if you want beautiful random colors, you could look into generating them in HSL space rather than in HEX. here is a library that does this under the hood. https://github.com/davidmerfield/randomColor
I will close this issue for now; please keep me updated on how is it going with the chart!
Best
Christoph


Proposed new criteria: Do not use deprecated or obsolecent API

The inclusion of calls to deprecated, dangerous or obsolescent functions or APIs introduces security weaknesses and SHOULD be avoided.
Details: In C, a number of string and memory handling functions, such as strcpy and strcat, can introduce buffer overflows as they lack a method to limit the amount of data written to the output buffer.

Certainly, where practical, it's good to avoid deprecated, dangerous or obsolescent functions or APIs in general.
That said, it's a little challenging to do this in many cases.  In C, strcpy and strcat are dangerous, but solutions are more challenging.  The C standard includes strcpy_s and strcat_s, but Microsoft implements them in an incompatible way, and the GCC developers have already declared that they will never implement them.  strlcat and strlcpy are not hard to get, but not universally supported either.  You can use snprintf, and that helps, but it does not fix everything.
In addition, many systems have interfaces that are officially "deprecated" but widely used, and for which there is no practical alternative.  That's really a failure of the systems with the "deprecated" interfaces - so it's not fair to penalize projects that have no realistic alternative.
I really like the idea of this proposed criterion, but I worry that stating this so bluntly may be impractical.  Is there a way we can tweak this wording so people won't complain that it's impractical?

How about this, to make it more practical?:
The project SHOULD avoid using deprecated or obsolete functions and APIs where FLOSS alternatives are available in the set of technology it uses (its "technology stack") and to a supermajority of the users the project supports (so that users have ready access to the alternative).
It's hard to avoid "dangerous" functions in practice, but this gets us started.

@david-a-wheeler I appreciate the above version. This made the criterion more practical.


UI review

This is a placeholder for a UI review by @cameronoelsen (and @ellisonbg?) for all of the changes we've made for 6.0.

@cameronoelsen - I updated the dev-install script to contain some instructions about creating a clean environment: https://github.com/ipython/ipywidgets/blob/master/dev-install.sh

One major thing that comes up almost immediately when I've put these widgets in front of someone is that they want to make the textbox, dropdown, and similar widgets shorter. I think the length and tight vertical spacing between widgets contributes to the feeling that the widgets are a bit wide. One option is to maybe make the widget width, say, 400px (so a bit more room for the slider), and make the text, dropdowns, etc. 200px, and maybe the buttons 100px (they seem a bit wide as-is as well, I think). Or maybe the slider at 360 px (lots of divisors!!!), the inputs at 180px, and the buttons at 120px.

I think that changing default dimensions of widgets at this stage is likely to cause lots of issues with alignment i combinations of boxes and custom widgets etc...

http://nbviewer.jupyter.org/gist/cameronoelsen/a5520188d8f9afd4ef8e7c8f204788c4/Widget List.ipynb


Mock Commit

Description
Please explain the changes you've made
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

Workflow fails because it pulls in 1.10.6-rc.1 which breaks some things.


Update README

A drive-by PR as I browse things published for SN :)

Supported Scala versions
Supported platforms
Versions in installation instructions

Codecov Report

Merging #387 (fe34eb0) into master (4e0b463) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #387   +/-   ##
=======================================
  Coverage   99.51%   99.51%
=======================================
  Files           8        8
  Lines         412      412
  Branches       41       41
=======================================
  Hits          410      410
  Misses          2        2

Continue to review full report at Codecov.

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


Allow user to input text to newly added text element

Feature Description
Newly added text element should be in a highlighted state so that the user can immediately start to type. Figma
Related: #830

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

After a text element is newly added, it should be in focus so that the creator can start typing

Implementation Brief

Duplicate of #1608?

@barklund does #1608 cover this? Should we close this?

This issue should be resolved, it was done in #1608 as works as expected, closing as such.
cc @barklund @bmattb


test(windows): fix tests to run on Windows

This PR replaces the use of some Unix-specific CLI tools with pure JS implementations.

rm -rf is replaced by rimraf.
mkdir -p is replaced by mkdirp

This makes it possible to run the tests on Windows.
Note that the tests still fail on Windows, because precise-commits produces wrong results when it encounters CRLF line separators. However at least it is possible to run the tests on Windows now.
I am working on a separate patch to add CRLF support.

Closing in favour of #60, which includes these changes.


Integrate commander.js into repoReport script

Allow for easier manipulation of script flags; to specify file destination, format of the reports, etc.

Implemented in commit https://github.com/Tomkay94/node-bin-xt/commit/45cfe129bc76788ed4686906e39557901d94a92a


Feedback: init and status should provide some user feedback

This is based on my first run with the tool. I propose that dep init and dep status should give some kind of immediate feedback to the user, to indicate they're going out to the network and the operation may take a little time. At the moment I don't have much confidence in what's going on.
What do we think? Should this be hidden behind a -v flag?

My first run of dep init took 93 seconds without any feedback.
That's okay, but I don't see -v documented in dep help.
I tried -v and it worked. However, -v spams me with "no buildable Go source files in x" warnings. Looking for goldilocks verbosity.

Hm - does your local testing version include https://github.com/golang/dep/pull/194, which was merged this morning? That should provide more incremental feedback - perhaps more in the goldilocks zone.

Looks like it didn't. I was on 76df5ce06d34253ce16abb2204b577ce14efc587, pulled earlier today. Things change so fast around here. 😉

i'm gonna call this complete, just because we've totally overhauled init, even though status needs some work. more specific & recent issues will be better for status, anyway.


Update README

Some people pool the master branch, however it differs from R5. e.g. alarm-gen container is not in master and it leads to confusion

add additional link, git clone -b R5.0 [for Contrail Release 5]

Hi @atarlov
This repo is under the review.opencontrail.org
Can you please push your change there?


Support to UTF-8 characters

Hello, I found a problem with systems who are in UTF8. If the ssh2 connection show a UTF8 character the software show a two graphical characters.

I rebase de code, thank

Sorry it's not necesary


diagnostic: fix index out of bounds error in sysinfo

What problem does this PR solve?
Issue Number: Ref https://github.com/tikv/tikv/issues/15006
Problem Summary:
Non-stop cpu expansion causes index out of bounds error.
What is changed and how it works?
https://github.com/mornyx/sysinfo/commit/5a1bcf08816979624ef2ad79cfb896de432a9501
See: https://github.com/tikv/tikv/pull/15007
Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/re-test

/run-all-tests

/test


pgmodeler: 0.9.4 -> 1.0.0-beta

Description of changes

See the changelog here.
There is one breaking change, namely that support for PostgreSQL 9.x has been dropped.
However, PSQL 9.x itself has not been maintained for over a year.
Updating to 1.0.0-beta has improved stability quite a bit for me.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1252


[Improve][Doc] Add Code Submission Guide link

What changes were proposed in this pull request
Issue Number: close #3465

Brief change log

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency): (yes / no)

cc @wolfboys
This seems to be a bug left by my modifications at that time. I'm sorry for that.


Add some maps

There are some commits with no contributors.
I investigated every commit and added some maps.
[4] pry(main)> Commit.with_no_contributors.exists?
  Commit Exists (22.6ms)  SELECT  1 AS one FROM "commits" LEFT OUTER JOIN contributions ON commits.id = contributions.commit_id WHERE "contributions"."commit_id" IS NULL LIMIT $1  [["LIMIT", 1]]
=> false

That is awesome!!! ❤
The unit tests are ordered alphabetically to easily keep track of each one... would you mind inserting these new ones in their place?

@fxn sorted!

Fantastic work, thanks very much!!! ❤


No module named 'lmflow.args`?

Dear All,
Please advice how to fix this:
ModuleNotFoundError: No module named 'lmflow.args
Thank you

Thanks for your attention! According to README.md, you may install the package as follows:
git clone https://github.com/OptimalScale/LMFlow.git
cd LMFlow
conda create -n lmflow python=3.9 -y
conda activate lmflow
conda install mpi4py
pip install -e .

This will install our package and make lmflow.args accessible. A similar issue has been reported before, you may refer to that as well. Thanks 😄


[Android][TextBox] Multi line TextBox is behaving like a single line TextBox

Current behavior

Expected behavior

How to reproduce it (as minimally and precisely as possible)

Launch app
Select TextBox from burger menu
Notice that last TextBox is showing a single line instead of multi line

Environment

Nuget Package:
Package Version(s):
Affected platform(s):

[ ] iOS
[x] Android
[ ] WebAssembly
[ ] UWP

Anything else we need to know?

https://github.com/unoplatform/uno/blob/master/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.Android.cs#L320
https://github.com/unoplatform/uno/blob/master/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.Android.cs#L346

Android textbox doesnt handle TextWrap, only AcceptsReturn.

@XiaotianNetlift @Massimo37 should we open an issue on uno's repo? It's a difference between UWP and Android I understand?

@XiaotianNetlift @Massimo37 should we open an issue on uno's repo? It's a difference between UWP and Android I understand?

According to UWP docs, AcceptReturn and TextWrapping are both needed to specify a multiline text, I don't see any problem. I accidentally didn't include those properties on the initial commit.

Fixed. @StewartPolsky to review.

Fix verified


No files for lidar detection models in Apollo 8.0

Hello! I tried to test models from the tutorial: https://github.com/ApolloAuto/apollo/blob/master/docs/06_Perception/how_to_verify_lidar_function_review.md
For all models there are no files to test it.
Here is example of how the error looks like:
terminate called after throwing an instance of 'phi::enforce::EnforceNotMet'
  what():  (NotFound) Cannot open file /apollo/modules/perception/production/data/perception/lidar/models/detection/CenterPoint_paddle/centerpoint.pdmodel, please confirm whether the file is normal.

Where can we get models files?

Model
Model type
Model download address

PETR_V1_paddle
bev_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/petrv1.zip

tl_detection_caffe
trafficlight_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/tl_detection_caffe.zip

horizontal_torch
trafficlight_recognition
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/horizontal_torch.zip

quadrate_torch
trafficlight_recognition
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/quadrate_torch.zip

vertical_torch
trafficlight_recognition
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/vertical_torch.zip

denseline_caffe
lane_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/denseline_caffe.zip

cnnseg16_caffe
lidar_3d_segmentation
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/cnnseg16_caffe.zip

cnnseg64_caffe
lidar_3d_segmentation
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/cnnseg64_caffe.zip

center_point_paddle
lidar_3d_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/center_point_paddle.zip

mask_pillars_torch
lidar_3d_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/mask_pillars_torch.zip

point_pillars_torch
lidar_3d_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/point_pillars_torch.zip

3d-r4-half_caffe
camera_2d_detection
https://apollo-pkg-beta.cdn.bcebos.com/perception_model/3d-r4-half_caffe.zip

Thank you, @daohu527 !


More sophisticated LLM execution methodology

Problem
Currently, our system throws an error when a model is not ready to process tasks. This approach may not be optimal, as it lacks flexibility in managing different model states and task executions. For instance:
Remote models capable of handling multiple tasks concurrently are restricted by the current implementation. They are always set to a 'ready' state without indicating active or multiple ongoing requests.
Local LLMs require a different approach, such as enqueuing tasks (with cancelation options) and executing them sequentially. However, the current actor mechanism in Swift does not guarantee sequential execution, especially when a model leaves the actor context for asynchronous operations, as outlined in WWDC21 - Meet async/await in Swift.
Solution
We should explore and implement a more flexible and efficient mechanism for handling tasks when models are not ready. The solution should address:

Remote Models: Implementing a mechanism to allow remote models to process multiple tasks simultaneously while providing a clear indication of active requests. This may involve modifying the state management to differentiate between 'processing' and 'ready' states.
Local Models: Developing a task queue system for local models where tasks can be enqueued, canceled if necessary, and executed in order. This system should ensure sequential processing even when asynchronous calls are made outside the actor context.

Additional context
Finding a solution to this issue is crucial for improving the robustness and scalability of our system. It will allow different types of models to operate more effectively within their capabilities and constraints. This improvement is expected to enhance the overall performance and user experience of our system.
Code of Conduct

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

Handelled by #45


"nslookup" doesn't provide final answer

"nslookup" doesn't provide the final answer while it queries some domains (e.g. cmu.edu).
$ echo "cmu.edu,<IP_ADDRESS>" | ./zdns nslookup --result-verbosity trace

{
    "class": "IN",
    "data": {
        "servers": [
            {
                "name": "NSAUTH1.NET.cmu.edu",
                "ttl": 21600,
                "type": "NS"
            },
            {
                "name": "NSAUTH2.NET.cmu.edu",
                "ttl": 21600,
                "type": "NS"
            },
            {
                "name": "NY-SERVER-03.NET.cmu.edu",
                "ttl": 21600,
                "type": "NS"
            }
        ]
    },
    "name": "cmu.edu",
    "status": "NOERROR",
    "timestamp": "2022-04-27T11:27:08+08:00",
    "trace": [
        {
            "cached": false,
            "class": 1,
            "depth": 1,
            "layer": "cmu.edu",
            "name": "cmu.edu",
            "name_server": "<IP_ADDRESS>:53",
            "results": {
                "answers": [
                    {
                        "answer": "NSAUTH1.NET.cmu.edu.",
                        "class": "IN",
                        "name": "cmu.edu",
                        "ttl": 21600,
                        "type": "NS"
                    },
                    {
                        "answer": "NSAUTH2.NET.cmu.edu.",
                        "class": "IN",
                        "name": "cmu.edu",
                        "ttl": 21600,
                        "type": "NS"
                    },
                    {
                        "answer": "NY-SERVER-03.NET.cmu.edu.",
                        "class": "IN",
                        "name": "cmu.edu",
                        "ttl": 21600,
                        "type": "NS"
                    }
                ],
                "flags": {
                    "authenticated": false,
                    "authoritative": false,
                    "checking_disabled": false,
                    "error_code": 0,
                    "opcode": 0,
                    "recursion_available": true,
                    "recursion_desired": true,
                    "response": true,
                    "truncated": false
                },
                "protocol": "udp",
                "resolver": "<IP_ADDRESS>:53"
            },
            "try": 1,
            "type": 2
        },
        {
            "cached": false,
            "class": 1,
            "depth": 1,
            "layer": "NSAUTH1.NET.cmu.edu",
            "name": "NSAUTH1.NET.cmu.edu",
            "name_server": "<IP_ADDRESS>:53",
            "results": {
                "answers": [
                    {
                        "answer": "<IP_ADDRESS>",
                        "class": "IN",
                        "name": "NSAUTH1.NET.cmu.edu",
                        "ttl": 14441,
                        "type": "A"
                    }
                ],
                "flags": {
                    "authenticated": false,
                    "authoritative": false,
                    "checking_disabled": false,
                    "error_code": 0,
                    "opcode": 0,
                    "recursion_available": true,
                    "recursion_desired": true,
                    "response": true,
                    "truncated": false
                },
                "protocol": "udp",
                "resolver": "<IP_ADDRESS>:53"
            },
            "try": 1,
            "type": 1
        },
        {
            "cached": false,
            "class": 1,
            "depth": 1,
            "layer": "NSAUTH2.NET.cmu.edu",
            "name": "NSAUTH2.NET.cmu.edu",
            "name_server": "<IP_ADDRESS>:53",
            "results": {
                "answers": [
                    {
                        "answer": "<IP_ADDRESS>",
                        "class": "IN",
                        "name": "NSAUTH2.NET.cmu.edu",
                        "ttl": 21600,
                        "type": "A"
                    }
                ],
                "flags": {
                    "authenticated": false,
                    "authoritative": false,
                    "checking_disabled": false,
                    "error_code": 0,
                    "opcode": 0,
                    "recursion_available": true,
                    "recursion_desired": true,
                    "response": true,
                    "truncated": false
                },
                "protocol": "udp",
                "resolver": "<IP_ADDRESS>:53"
            },
            "try": 1,
            "type": 1
        },
        {
            "cached": false,
            "class": 1,
            "depth": 1,
            "layer": "NY-SERVER-03.NET.cmu.edu",
            "name": "NY-SERVER-03.NET.cmu.edu",
            "name_server": "<IP_ADDRESS>:53",
            "results": {
                "answers": [
                    {
                        "answer": "<IP_ADDRESS>",
                        "class": "IN",
                        "name": "NY-SERVER-03.NET.cmu.edu",
                        "ttl": 300,
                        "type": "A"
                    }
                ],
                "flags": {
                    "authenticated": false,
                    "authoritative": false,
                    "checking_disabled": false,
                    "error_code": 0,
                    "opcode": 0,
                    "recursion_available": true,
                    "recursion_desired": true,
                    "response": true,
                    "truncated": false
                },
                "protocol": "udp",
                "resolver": "<IP_ADDRESS>:53"
            },
            "try": 1,
            "type": 1
        }
    ]
}

From the trace infomation, we know that zdns have queried the NS record for A record, but it didn't provide in final result.

Thanks. This certainly looks like a bug since the point of nslookup is to also provide the actual IP addresses. @spencerdrak, @vishalmohanty, I know we recently made changes to this module. Any initial thoughts on what might be happening?

Thanks for pointing out the bug. Here's the fix: https://github.com/zmap/zdns/pull/303

Looks like this was fixed in #303. Please reopen if not the case!


Make field_created_copy not translatable on the campaign template

@julielorch can you please verify that none of the campaigns in the Ready to be Translated list on https://trello.com/b/HWVvUsxW/translation-pipeline were created by any members?
also @mnelson338 this would mean we couldn't translate any campaigns that were created by members. if this is going to be the case for the next few months then that's fine, we can always change our minds later. but i just don't want to go back and forth.

@mikefantini: Shower songs and Bookmark Climate Change - moved from "ready to translate" to "Global English only" in Trello
cc @mnelson338

@mikefantini Happy to hold for now on translating campaigns that are member created. Eventually, we will want the capability that's for v1.1 or later

Sorry for the delay on this. @mnelson338 what do you think the timeline is for wanting Member Created Campaigns up for MX/BR/GL-EN users? If it's "sometime between now and February" I'd rather keep this field exposed. If it's "sometime after February" then we can hide for now and re-expose then.

After February, so let's hide now. @mikefantini

Got it thanks.
@angaither assigned over to you to assign out. We can either make this field untranslatable or just hide it from Regional Admins, whichever is easiest.

@mikefantini @mnelson338 probably easiest to disable the ability to translate this content for now
as long as we don't have any copy in that field we want to save (from thor/production)...

in thor, it looks like we have only und language types, but in prod, it's a mix of en and en-global

@angaither @mikefantini  Let's go with what's easiest and disable translation on MCC campaigns

Yeah @angaither it's fine. The two campaigns that have an en-global translation don't have this field filled out.

closed with #5515


[FLINK-31651][runtime] Improve logging of granting/revoking leadership in JobMasterServiceLeadershipRunner to INFO level

What is the purpose of the change
Currently, the log level of granting/revoking leadership of JobMasterServiceLeadershipRunner is DEBUG. However, we usually configure it to INFO level in production jobs, which make it hard to understand the behaviour from Flink's logs because JobMasterServiceLeadershipRunner may suddenly be stopped. I suggest to improve the logging to INFO level.
Verifying this change
This change will only change the log level,  without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Thanks for review @reswqa. Merging.


NPEFix does not compile on the provide commit hash

Hi @tdurieux,
Just noticed that NPEFix does not compile on the provided commit hash (403445b9a). You pushed a fix two days later, is 00f977e the right commit hash and not 403445b9a?
A related question, how did you generate the jar file for Arja? Did you end up using commit 88465f5 or maybe 918ad29 ?
--
Best,
Jose

I am sorry for the incorrect information (local changes 🤕), I used this commit for NPXFix 00f977ec20e8b16672610706cfd330c9dcaeedd1, and 918ad29c6c3f4cb7e202125fc71e53661a1146f4 for Arja.
I pushed them when I was preparing the open repository but I forgot to change the paper.


[SPARK-19506][ML][PYTHON] Import warnings in pyspark.ml.util

What changes were proposed in this pull request?
Add missing warnings import.
How was this patch tested?
Manual tests.

Test build #72546 has started for PR 16846 at commit e589bd4.

Test build #72546 has finished for PR 16846 at commit e589bd4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72546/
Test PASSed.

Merged build finished. Test PASSed.

This looks good, normally I'd say we should have tests but since we are going to remove this in 2.2 that is probably ok as is. I'll merge this to master & the 2.1 branch if no one objects by EOD.

@holdenk Sadly this part of the API is not tested directly and we depend on the indirect coverage. Maybe this is a sign should be tested.

Thanks @holdenk

Merged into master & branch-2.1 , thanks @zero323 for catching & fixing this.


OmniSharp refuses to start with unreadable message (Russian locale)

Issue Description
When I open my Unity solution, OmniSharp started to error out, suddenly. Problem is, my system locale is Russian, I cannot read the error message and find the culprit. Installing older versions of VS Code and/or C# extension didn't help. Regenerating project files from Unity didn't help. I'm stuck.
Steps to Reproduce
I can't point my finger at anything, just the usual Unity solution with latest VS Code package.
Expected Behavior
Working OmniSharp
Actual Behavior
OmniSharp not starting
Logs
OmniSharp log
Starting OmniSharp server at 05.02.2021, 11:02:02
    Target: d:\Unity\project-name
OmniSharp server started.
Path: c:\Users\username.vscode\extensions\ms-dotnettools.csharp-1.23.9.omnisharp\1.37.6\OmniSharp.exe
PID: 12740
���誮� ������� ��������� ��ப�.
[ERROR] Error: OmniSharp server load timed out. Use the 'omnisharp.projectLoadTimeout' setting to override the default delay (one minute).
C# log
Empty
Environment information
VSCode version: 1.53.0
C# Extension: 1.23.9
Dotnet Information
����� SDK ��� .NET (��ࠦ��騩 �� global.json):
 Version:   5.0.102
 Commit:    71365b4d42
�।� �믮������:
OS Name:     Windows
OS Version:  10.0.19042
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\5.0.102\
Host (useful for support):
Version: 5.0.2
Commit:  cb5f173b96
.NET SDKs installed:
5.0.102 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download

Visual Studio Code Extensions

Extension
Author
Version

csharp
ms-dotnettools
1.23.9

csharp-auto-formatter
bilal-arikan
0.1.0

hide-gitignored
npxms
1.1.0

ignore-files
ldez
0.1.0

unity-code-snippets
cemuka
0.1.0

unity-debug
Unity
3.0.2

vscode-icontheme-nomo-dark-macos
Gaulomatic
1.0.3

vscode-theme-onedark
akamud
2.2.3

Please disregard this... The issue was caused by hide-gitignored extension. OmniSharp is working now.

thanks!


Extend FileSystemInfoBase with FileSystem property

Please review proposal in issue #239 and this PR that implements it.

Storing a FileSystem instance in a static variable will cause many race conditions.  I don't recommend this PR.
There's a possibility instead of modifying the constructor for the Mocks to require the IFileSystem parent instance in order to return it back... this would then stave-off the race conditions present of a default implementation simply using an AppDomain static that the first test implementation ends up mangling upon completion.

#352 implements this for all base classes without statics. (Probably close this if that's accepted.)

Superseded by #352


add 30sec refresh interval

added a 30second refresh to the messages inbox

One minor comment, looks good :) nicely tested


Toggleable context injection

This is one of those late night questions so forgive me if I'm missing something obvious.  I'm getting an error of this type:
TransactionManagementError at /admin/djstripe/apikey/add/
An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.
The pghistory context injection is included in the traceback and I was curious if there was an easy way to disable the context injection or pghistory in general?
/usr/local/lib/python3.10/site-packages/pghistory/runtime.py, line 51, in _inject_history_context is going off before self.db.validate_no_broken_transaction() in /django/db/backends/utils.py
I attempted following the suggestion in https://django-pghistory.readthedocs.io/en/2.5.1/performance.html about setting settings.PGHISTORY_CONTEXT_FIELD to None but bumped into some issues on that path as well:
File "/usr/local/lib/python3.10/site-packages/pghistory/core.py", line 656, in _model_wrapper
  create_event_model(
File "/usr/local/lib/python3.10/site-packages/pghistory/core.py", line 516, in create_event_model
  context_field = _get_context_field(context_field=context_field, context_fk=context_fk)
File "/usr/local/lib/python3.10/site-packages/pghistory/core.py", line 399, in _get_context_field
  context_field = config.context_field()
File "/usr/local/lib/python3.10/site-packages/pghistory/config.py", line 70, in context_field
  assert isinstance(context_field, (ContextForeignKey, ContextJSONField))

@jzmiller1 sorry for the delay on this. This issue should be fixed in https://github.com/Opus10/django-pghistory/pull/95 when deployed. I now check for an errored transaction before setting context in the SQL.
The SQL variable injection is quite complex. I use this approach in a few libraries too. I'm planning to break up this SQL injection into its own library and then allow users to better configure its behavior (i.e. instead of injecting variables into the SQL, you can tell it to just issue separate SQL commands to set the variables if you don't care about extra queries).
Tracking this feature at https://github.com/Opus10/django-pghistory/issues/96

Hey thanks for the update and no need to be sorry!  I love all your work on your pg projects.  Thanks for it!


Visual Studio 2015 with TS2.0 gives incorrect @types path resolution errors

@types path resolution and importing is succeeding, but these errors occurred on Visual Studio after a few minutes.
TypeScript Version:  2.0.0 with VS2015
Severity	Code	Description	Project	File	Line	Suppression State
Error	TS2688	Cannot find type definition file for '[
  "...\\localsocket/node_modules/@types\\empower",
  "...\\localsocket/node_modules/@types\\mocha",
  "...\\localsocket/node_modules/@types\\power-assert",
  "...\\localsocket/node_modules/@types\\power-assert-formatter"
]'.	localsocket		1	Active
Error	TS2688	Cannot find type definition file for '[
  "...\\localsocket/node_modules/@types\\empower",
  "...\\localsocket/node_modules/@types\\mocha",
  "...\\localsocket/node_modules/@types\\power-assert",
  "...\\localsocket/node_modules/@types\\power-assert-formatter"
]'.	localsocket		1	Active

I'll share this project for repro if necessary.

I am able to repo this by simple
import * as m from "mocha"
also just to make sure about the version of VS, I am using 25420.01 Update3 and TypeScript 2.0.0 Beta

Talk with @vladima about the possible fix. We will have to issue fix from managed side

Thanks for the repro!


Update requirements

We need to update requirements after merge in billtitleindex repository to main branch changes from this PR with migration to poetry

this line should be changed in pyproject.toml file:
billtitleindex = {git = "https://github.com/arachnidllc/billtitleindex.git", rev = "test/migrate_to_poetry"}


Extracting memcache constants to a shared file.

No change in the functionality yet, let me know if you want me to do the expiration increase in the same PR.


add email retrieving

There is no email field in the reports anymore. Need to retrieve email from the customer profile using the controller address from which the report has been sent.

done in c462cbb9c3be73a779f6304d263331602462c63d


Posenet Does Not have the attribute read_cap

Hey, I tried the webcam_demo.py and noticed that posenet.read_cap does not exist. It's posenet.utils.read_cap instead. Hope this helps

Same here

Same here

try posenet.utils.read_cap


[FIX] Use SPEC_ROOT/src_path in make_filename_template

Closes None, but fixes an error introduced in #1228.
Changes proposed:

Use relative paths in links to glossary and entities pages created by make_filename_template.

In the breaking build, internal links generated by make_filename_template are absolute paths (e.g., anat), while working links are relative paths, even after the markdown formatting (e.g., mod-<label>).
With this fix, the make_filename_template-generated links are now relative (e.g., anat), so I think it should be good.

Cool. I'll merge it now and we'll see if it works!

Seems to be working.

Thanks for the quick fix!


Support credit card authorisation/reservation instead of charge only

Will be resolved with another issue: https://github.com/commercetools/commercetools-adyen-integration/issues/64


review issues listed in expected to fail file

issues that are closed should not be in the expected to fails files. Ether the bug was not really fixed or (more likely) the test fails because of some other issue but the expected to fail file was not updated correctly
e.g. https://github.com/owncloud/ocis/issues/1346 is closed but some tests are still marked with that issue in the expected to fail file
and the test Creating a new public link share of a file with password using the old public WebDAV API does not fail because of the range issue but because of lack of the "old webdav API missing for public links"

The following issues in expected failures file are closed. Need to investigate and tagged the scenarios with correct issues.

[ ] https://github.com/owncloud/ocis/issues/1120 href in trashbin PROPFIND response is wrong

[ ] https://github.com/owncloud/ocis/issues/1077 QA trashcan cannot delete a deep tree

apiTrashbin/trashbinDelete.feature:106
apiTrashbin/trashbinDelete.feature:122
apiTrashbin/trashbinRestore.feature:116
apiTrashbin/trashbinRestore.feature:117
apiTrashbin/trashbinRestore.feature:118
apiTrashbin/trashbinRestore.feature:119

[ ] https://github.com/owncloud/ocis/issues/1297 Some failing tests with Webdav custom properties

apiWebdavProperties1/setFileProperties.feature:32
apiWebdavProperties1/setFileProperties.feature:33
apiWebdavProperties1/setFileProperties.feature:63
apiWebdavProperties1/setFileProperties.feature:64

[ ] https://github.com/owncloud/ocis/issues/1291 Checksum feature

apiMain/checksums.feature:58 Scenario: Uploading a chunked file with checksum should return the checksum in the propfind
apiMain/checksums.feature:67 Scenario: Uploading a chunked file with checksum should return the checksum in the download header
apiMain/checksums.feature:138 Scenario: Upload new dav chunked file where checksum matches
apiMain/checksums.feature:147 Scenario: Upload new dav chunked file where checksum does not match
apiMain/checksums.feature:257 Scenario: Uploading an old method chunked file with checksum should fail using new DAV path
apiMain/checksums.feature:313 Scenario: Upload overwriting a file with new chunking and correct checksum
apiMain/checksums.feature:325 Scenario: Upload overwriting a file with new chunking and invalid checksum
apiMain/checksums.feature:119 Scenario: Sharing a file with checksum should return the checksum in the propfind using new DAV path
apiMain/checksums.feature:129 Scenario: Sharing and modifying a file should return correct checksum in the propfind using new DAV path
apiMain/checksums.feature:158 Scenario: Upload new dav chunked file using async MOVE where checksum matches
apiMain/checksums.feature:174 Scenario: Upload new dav chunked file using async MOVE where checksum does not match
apiMain/checksums.feature:192 Scenario: Upload new dav chunked file using async MOVE where checksum does not match - retry with correct checksum

[ ] Quota query https://github.com/owncloud/ocis/issues/1313

apiMain/quota.feature:38 Scenario: Uploading a file in received folder having enough quota
apiMain/quota.feature:48 Scenario: Uploading a file in received folder having insufficient quota
apiMain/quota.feature:59 Scenario: Overwriting a file in received folder having enough quota
apiMain/quota.feature:70 Scenario: Overwriting a file in received folder having insufficient quota
apiMain/quota.feature:84 Scenario: Overwriting a received file having enough quota
apiMain/quota.feature:94 Scenario: Overwriting a received file having insufficient quota
apiMain/quota.feature:105 Scenario: User with zero quota cannot upload a file
apiMain/quota.feature:112 Scenario: User with zero quota can create a folder
apiMain/quota.feature:119 Scenario: user cannot create file on shared folder by a user with zero quota
apiMain/quota.feature:134 Scenario: share receiver with 0 quota should not be able to move file from shared folder to home folder
apiMain/quota.feature:148 Scenario: sharer should be able to upload to a folder shared with user having zero quota
apiMain/quota.feature:164 Scenario: share receiver with 0 quota should be able to upload on shared folder
apiMain/quota.feature:178 Scenario: User should retain their old files even if their quota is set to 0
apiMain/quota.feature:184 Scenario: User should be able to restore their deleted file when their quota is set to zero
Scenario Outline: Retrieving folder quota of shared folder with quota when no quota is set for recipient
apiWebdavProperties1/getQuota.feature:48
apiWebdavProperties1/getQuota.feature:49
Scenario Outline: Retrieving folder quota when quota is set and a file was uploaded
apiWebdavProperties1/getQuota.feature:61
apiWebdavProperties1/getQuota.feature:62
Scenario Outline: Retrieving folder quota when quota is set and a file was received
apiWebdavProperties1/getQuota.feature:77
apiWebdavProperties1/getQuota.feature:78

In acceptance/expected-failures-API-on-OCIS-storage.md the following closed issues are present along with respective scenarios:

[ ]  Previews via webDAV API tests fail on OCIS (https://github.com/owncloud/ocis/issues/187)

apiWebdavPreviews/previews.feature:95
apiWebdavPreviews/previews.feature:113

[ ] shares are mounted into /Shares folder even after the sharer deletes the collaborator (https://github.com/owncloud/ocis/issues/720)

apiShareManagementBasicToShares/deleteShareFromShares.feature:43
apiShareManagementBasicToShares/deleteShareFromShares.feature:44

[ ] Previews via webDAV API tests fail on OCIS (https://github.com/owncloud/ocis/issues/187)

apiSharePublicLink1/accessToPublicLinkShare.feature:10
apiSharePublicLink1/accessToPublicLinkShare.feature:20
apiSharePublicLink1/accessToPublicLinkShare.feature:30
apiSharePublicLink1/accessToPublicLinkShare.feature:44

[ ] Previews via webDAV API tests fail on OCIS (https://github.com/owncloud/ocis/issues/187)

apiWebdavPreviews/previews.feature:95
apiWebdavPreviews/previews.feature:113

The following closed issues in ocis-reva acceptance/expected-failures-on-OWNCLOUD-storage.md:

[ ] QA trashcan cannot delete a deep tree (https://github.com/owncloud/ocis/issues/1077)

apiTrashbin/trashbinDelete.feature:106
apiTrashbin/trashbinDelete.feature:122

[ ] A deleted folder with & in it does not appear in the trashbin (https://github.com/owncloud/ocis/issues/1547)

apiTrashbin/trashbinDelete.feature:166
apiTrashbin/trashbinDelete.feature:167
apiTrashbin/trashbinDelete.feature:198
apiTrashbin/trashbinDelete.feature:199

[ ] Review and fix the tests that have sharing step to work with ocis (https://github.com/owncloud/core/issues/38006)

apiTrashbin/trashbinFilesFolders.feature:104
apiTrashbin/trashbinFilesFolders.feature:105

[ ] href in trashbin PROPFIND response is wrong

apiTrashbin/trashbinRestore.feature:116

apiTrashbin/trashbinRestore.feature:117

apiTrashbin/trashbinRestore.feature:118

apiTrashbin/trashbinRestore.feature:119

apiTrashbin/trashbinRestore.feature:257

apiTrashbin/trashbinRestore.feature:258

apiTrashbin/trashbinRestore.feature:259

apiTrashbin/trashbinRestore.feature:260

apiTrashbin/trashbinRestore.feature:261

apiTrashbin/trashbinRestore.feature:262

apiTrashbin/trashbinRestore.feature:410

apiTrashbin/trashbinRestore.feature:411

apiTrashbin/trashbinRestore.feature:449

apiTrashbin/trashbinRestore.feature:450

[ ] href in trashbin PROPFIND response is wrong (https://github.com/owncloud/ocis/issues/1120)

apiTrashbin/trashbinRestore.feature:34

apiTrashbin/trashbinRestore.feature:35

apiTrashbin/trashbinRestore.feature:138

apiTrashbin/trashbinRestore.feature:139

apiTrashbin/trashbinRestore.feature:88

apiTrashbin/trashbinRestore.feature:89

apiTrashbin/trashbinRestore.feature:90

apiTrashbin/trashbinRestore.feature:91

apiTrashbin/trashbinRestore.feature:92

apiTrashbin/trashbinRestore.feature:93

apiTrashbin/trashbinRestore.feature:317

apiTrashbin/trashbinRestore.feature:318

apiTrashbin/trashbinRestore.feature:337

apiTrashbin/trashbinRestore.feature:338

[ ] Some failing tests with Webdav custom properties (https://github.com/owncloud/ocis/issues/1297)
ocdav: double check the webdav property parsing when custom namespaces are used

apiWebdavProperties1/setFileProperties.feature:32
apiWebdavProperties1/setFileProperties.feature:33
apiWebdavProperties1/setFileProperties.feature:63
apiWebdavProperties1/setFileProperties.feature:64

[ ] Checksum feature (https://github.com/owncloud/ocis/issues/1291)
ocdav: return checksum in upload response for chunked upload

apiMain/checksums.feature:58 Scenario: Uploading a chunked file with checksum should return the checksum in the propfind
apiMain/checksums.feature:67 Scenario: Uploading a chunked file with checksum should return the checksum in the download header
apiMain/checksums.feature:138 Scenario: Upload new dav chunked file where checksum matches
apiMain/checksums.feature:147 Scenario: Upload new dav chunked file where checksum does not match
apiMain/checksums.feature:257 Scenario: Uploading an old method chunked file with checksum should fail using new DAV path
apiMain/checksums.feature:313 Scenario: Upload overwriting a file with new chunking and correct checksum
apiMain/checksums.feature:325 Scenario: Upload overwriting a file with new chunking and invalid checksum

[ ] sharing with group not available (https://github.com/owncloud/product/issues/293)

apiShareOperationsToShares/uploadToShare.feature:41
apiShareOperationsToShares/uploadToShare.feature:42
apiShareOperationsToShares/uploadToShare.feature:95
apiShareOperationsToShares/uploadToShare.feature:96
apiShareOperationsToShares/uploadToShare.feature:145
apiShareOperationsToShares/uploadToShare.feature:146

apiShareManagementToShares/acceptShares.feature:30

apiShareManagementToShares/acceptShares.feature:234
apiShareManagementToShares/acceptShares.feature:281
apiShareManagementToShares/acceptShares.feature:355
apiShareManagementToShares/acceptShares.feature:393
apiShareManagementToShares/acceptShares.feature:436
apiShareManagementBasicToShares/createShareToSharesFolder.feature:181
apiShareManagementBasicToShares/createShareToSharesFolder.feature:182
apiShareManagementBasicToShares/createShareToSharesFolder.feature:206
apiShareManagementBasicToShares/createShareToSharesFolder.feature:207
apiShareManagementBasicToShares/createShareToSharesFolder.feature:238
apiShareManagementBasicToShares/createShareToSharesFolder.feature:239
apiShareManagementBasicToShares/createShareToSharesFolder.feature:260
apiShareManagementBasicToShares/createShareToSharesFolder.feature:261
apiShareManagementBasicToShares/createShareToSharesFolder.feature:328
apiShareManagementBasicToShares/createShareToSharesFolder.feature:329
apiShareManagementBasicToShares/createShareToSharesFolder.feature:368
apiShareManagementBasicToShares/createShareToSharesFolder.feature:369
apiShareManagementBasicToShares/createShareToSharesFolder.feature:398
apiShareManagementBasicToShares/createShareToSharesFolder.feature:467
apiShareManagementBasicToShares/createShareToSharesFolder.feature:468
apiShareManagementBasicToShares/createShareToSharesFolder.feature:504
apiShareManagementBasicToShares/createShareToSharesFolder.feature:505
apiShareManagementBasicToShares/createShareToSharesFolder.feature:508
apiShareManagementBasicToShares/deleteShareFromShares.feature:28
apiShareManagementBasicToShares/deleteShareFromShares.feature:29
apiShareManagementBasicToShares/deleteShareFromShares.feature:89

apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:27

apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:28
apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:45
apiShareReshareToShares2/reShareWhenShareWithOnlyMembershipGroups.feature:46
apiShareReshareToShares3/reShareUpdate.feature:114
apiShareReshareToShares3/reShareUpdate.feature:115
apiShareReshareToShares3/reShareUpdate.feature:133
apiShareReshareToShares3/reShareUpdate.feature:134
apiShareReshareToShares3/reShareWithExpiryDate.feature:64
apiShareReshareToShares3/reShareWithExpiryDate.feature:65
apiShareReshareToShares3/reShareWithExpiryDate.feature:124
apiShareReshareToShares3/reShareWithExpiryDate.feature:125
apiShareReshareToShares3/reShareWithExpiryDate.feature:126
apiShareReshareToShares3/reShareWithExpiryDate.feature:127
apiShareReshareToShares3/reShareWithExpiryDate.feature:184
apiShareReshareToShares3/reShareWithExpiryDate.feature:185
apiShareReshareToShares3/reShareWithExpiryDate.feature:186
apiShareReshareToShares3/reShareWithExpiryDate.feature:187
apiShareReshareToShares3/reShareWithExpiryDate.feature:215
apiShareReshareToShares3/reShareWithExpiryDate.feature:216
apiShareReshareToShares3/reShareWithExpiryDate.feature:217
apiShareReshareToShares3/reShareWithExpiryDate.feature:218
apiShareReshareToShares3/reShareWithExpiryDate.feature:305
apiShareReshareToShares3/reShareWithExpiryDate.feature:306
apiShareReshareToShares3/reShareWithExpiryDate.feature:307
apiShareReshareToShares3/reShareWithExpiryDate.feature:308
apiShareReshareToShares3/reShareWithExpiryDate.feature:338
apiShareReshareToShares3/reShareWithExpiryDate.feature:339
apiShareReshareToShares3/reShareWithExpiryDate.feature:340
apiShareReshareToShares3/reShareWithExpiryDate.feature:341

apiWebdavProperties1/copyFile.feature:351

apiWebdavProperties1/copyFile.feature:352
apiWebdavProperties1/copyFile.feature:371
apiWebdavProperties1/copyFile.feature:372
apiWebdavProperties1/copyFile.feature:396
apiWebdavProperties1/copyFile.feature:397
apiWebdavProperties1/copyFile.feature:423
apiWebdavProperties1/copyFile.feature:424
apiWebdavProperties1/copyFile.feature:449
apiWebdavProperties1/copyFile.feature:450
apiWebdavProperties1/copyFile.feature:475
apiWebdavProperties1/copyFile.feature:476
apiWebdavProperties2/getFileProperties.feature:156
apiWebdavProperties2/getFileProperties.feature:157
apiWebdavProperties2/getFileProperties.feature:206
apiWebdavProperties2/getFileProperties.feature:207
apiVersions/fileVersionsSharingToShares.feature:178
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:39
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:40
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:68
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:69
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:87
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:88
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:107
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:108
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:193
apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:194
apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:10
apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:34
apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:58
apiShareCreateSpecialToShares2/createShareGroupAndUserWithSameName.feature:82
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:49
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:50
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:51
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:52
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:53
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:54
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:85
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:86
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:87
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:88
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:89
apiShareCreateSpecialToShares2/createShareGroupCaseSensitive.feature:90
apiShareManagementBasicToShares/createShareToSharesFolder.feature:444
apiShareManagementBasicToShares/createShareToSharesFolder.feature:445
apiShareOperationsToShares/accessToShare.feature:74
apiShareOperationsToShares/accessToShare.feature:75
apiWebdavUploadTUS/uploadToShare.feature:55
apiWebdavUploadTUS/uploadToShare.feature:56

IN OCIS-REVA owncloud-storage

[ ] file_target in share response (https://github.com/owncloud/product/issues/203)

apiShareManagementBasicToShares/createShareToSharesFolder.feature:36
apiShareManagementBasicToShares/createShareToSharesFolder.feature:37
apiShareManagementBasicToShares/createShareToSharesFolder.feature:66
apiShareManagementBasicToShares/createShareToSharesFolder.feature:67
apiShareManagementBasicToShares/createShareToSharesFolder.feature:92
apiShareManagementBasicToShares/createShareToSharesFolder.feature:93
apiShareManagementBasicToShares/createShareToSharesFolder.feature:95
apiShareManagementBasicToShares/createShareToSharesFolder.feature:96
apiShareManagementBasicToShares/createShareToSharesFolder.feature:98
apiShareManagementBasicToShares/createShareToSharesFolder.feature:99
apiShareManagementBasicToShares/createShareToSharesFolder.feature:156
apiShareManagementBasicToShares/createShareToSharesFolder.feature:157
apiShareManagementBasicToShares/createShareToSharesFolder.feature:290
apiShareManagementBasicToShares/createShareToSharesFolder.feature:291
apiShareManagementBasicToShares/deleteShareFromShares.feature:46
apiShareManagementToShares/mergeShare.feature:32
apiShareManagementToShares/mergeShare.feature:42
apiShareManagementToShares/mergeShare.feature:89
apiShareManagementBasicToShares/createShareToSharesFolder.feature:373
apiShareManagementBasicToShares/createShareToSharesFolder.feature:536
apiShareManagementBasicToShares/createShareToSharesFolder.feature:554
apiShareManagementBasicToShares/createShareToSharesFolder.feature:572
apiShareOperationsToShares/gettingShares.feature:170
apiShareOperationsToShares/gettingShares.feature:171

apiShareReshareToShares2/reShareSubfolder.feature:30

apiShareReshareToShares2/reShareSubfolder.feature:31
apiShareReshareToShares2/reShareSubfolder.feature:108
apiShareReshareToShares2/reShareSubfolder.feature:109
apiShareReshareToShares2/reShareSubfolder.feature:130
apiShareReshareToShares2/reShareSubfolder.feature:131
apiShareReshareToShares2/reShareSubfolder.feature:152
apiShareReshareToShares2/reShareSubfolder.feature:153

Also see issue #2190 - the stale bot has been closing lots of issues.
If an issue still has a genuine failure in an expected-failures file, then we need to re-open the issue and add the "bug" or "Type:Technical-Debt" label. That will stop the "stale" bot from closing it.


UI Authentication

Hello
Has anyone succeeded in installing Pam or any other radius module for nginx to achieve ui authentication with external radius?
I'm running routinator on ubuntu so if anyone can assist it would be great
David

Sorry for the horribly late reply.
Routinator doesn’t have any special requirements, so this really is ‘normal’ Nginx configuration. I’m afraid we don’t have any experience with PAM and Nginx and can’t really help.


prompt user login if no token found on resource loading

Current dependencies on/for this PR:

main

PR #443   👈

This stack of pull requests is managed by Graphite.


Scraper exceptions and error handling

Found some issues that can cause occasional server crashes when using scraper

Some seemingly normal pages are missing from database (ex. 'Fungal infection').
Cannot find path / path not existent
SQL server errors

#60 Added timeout and exception handling


Enable build for ESP32S3 also

@jetpax I'm afraid it's not as simple as that. esp32-s3 needs USB CDC, not USB_SERIAL_JTAG. You can take a look here for more info: https://github.com/espressif/esp-idf/tree/master/examples/system/console/advanced


Maximum group size validation made more consistent

The enrolment button is clickable when there is space for the minimum group size. In other words, the minimum group size can now be less than or equal to the untaken seats (the remaining space) in occurrence.
Added multiple validations which are all described in the Jira task: https://helsinkisolutionoffice.atlassian.net/browse/PT-772?focusedCommentId=19250
This PR removes some work done in https://helsinkisolutionoffice.atlassian.net/browse/PT-752 and https://helsinkisolutionoffice.atlassian.net/browse/PT-685

Wondering if 0 teachers is possible?

Wondering if 0 teachers is possible?

We talked about that with Pirjo (PO) and Tomi and they thought it's a good thing that it can be left to zero, although it is not common.


macports provider has incorrect filters

macports currently provides macports_package to os => 'mac_os_x' but that's not an OS, it should be darwin.

Yeah, I saw this same issue with homebrew - I just added both to the list of OSes (os => ['mac_os_x', 'darwin']).  I'm not sure if something changed with Ohai or in the latest version of OSX.

That was probably derp on my part, I'll bet I changed platform to os without changing the value.

it seems like platform -> osx is the right call here though.
I have a guy locally who has fixed a bunch of OSX bugs locally and wants to send PRs, if he gets to it today/tomorrow great, if not, I'll send a bunch.


startKoin in Android duplicated reference to Application class

startKoin implementation for Android is:
fun Application.startKoin(
    application: Application,
    modules: List<Module>,
    properties: Map<String, Any> = HashMap(),
    logger: Logger = AndroidLogger()
) {
    Koin.logger = logger
    StandAloneContext.startKoin(modules, properties = properties) with application
}

For what need application parameter? Maybe will be better change to
fun Application.startKoin(
    modules: List<Module>,
    properties: Map<String, Any> = HashMap(),
    logger: Logger = AndroidLogger()
) {
    Koin.logger = logger
    StandAloneContext.startKoin(modules, properties = properties) with this
}

You can go with PR if you think you have an interesting contribution. We can't just broke some API, we need to maintain compat with existing app.
I can consider a deprecation on the old API


UploadObjectArgs does not implement send

pub async fn upload_object(bucket_name: String, object_name: PathBuf, filename: PathBuf) {
    let upload_object_args = UploadObjectArgs::new(&bucket_name, object_name.to_str().expect("路径不支持"), filename.to_str().expect("路径不支持")).unwrap();
    let _ = MINIO_CLIENT.upload_object(&upload_object_args).await;
}

I'm prompted when I submit my upload method to tokio,The upload method does this. Other methods, such as remove_object and list_objects, do not have this problem。Maybe I'm using it the wrong way. I'd like some Pointers
error: future cannot be sent between threads safely
   --> src\main.rs:160:45
    |
160 |                     return Command::perform(minio_util::upload_object(self.curr_bucket.clone(), object_name, file), |_| Message::Refresh);
    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ future returned by `upload_object` is not `Send`
    |
    = help: the trait `Sync` is not implemented for `dyn Sse`
note: future is not `Send` as this value is used across an await
   --> src\minio_util.rs:92:61
    |
90  |     let upload_object_args = UploadObjectArgs::new(&bucket_name, object_name.to_str().expect("路径不支持"), filename.to_str().expect("路径不     ...
    |         ------------------ has type `UploadObjectArgs<'_>` which is not `Send`
91  |     // let upload_object_args = UploadObjectArgs::new(&bucket_name, object_name.to_str().expect(""), &filename).unwrap();
92  |     let _ = MINIO_CLIENT.upload_object(&upload_object_args).await;
    |                                                             ^^^^^ await occurs here, with `upload_object_args` maybe used later
...
95  | }
    | - `upload_object_args` is later dropped here
note: required by a bound in `iced::Command::<T>::perform`
   --> C:\Users\17274\.cargo\git\checkouts\iced-3815be7e76d03e0b\8d77971\runtime\src\command.rs:43:53
    |
42  |     pub fn perform<A>(
    |            ------- required by a bound in this associated function
43  |         future: impl Future<Output = T> + 'static + MaybeSend,
    |                                                     ^^^^^^^^^ required by this bound in `Command::<T>::perform`

92  |     let _ = MINIO_CLIENT.upload_object(&upload_object_args).await;
    |                                                             ^^^^^ await occurs here, with `upload_object_args` maybe used later

upload_object_args lost it's lifetime in the context. Refer a simple example https://github.com/minio/minio-rs/blob/v0.1.0/examples/file-uploader.rs

92  |     let _ = MINIO_CLIENT.upload_object(&upload_object_args).await;
    |                                                             ^^^^^ await occurs here, with `upload_object_args` maybe used later

upload_object_args在上下文中失去了它的一生。请参考一个简单的示例 https://github.com/minio/minio-rs/blob/v0.1.0/examples/file-uploader.rs

Do you mean that I should write upload_object_args directly into the method? I tried to do this but his error message barely changed
client
        .upload_object(
            &mut UploadObjectArgs::new(
                &bucket_name,
                "asiaphotos-2015.zip",
                "/home/user/Photos/asiaphotos.zip",
            )
            .unwrap(),
        )
        .await
        .unwrap();

error: future cannot be sent between threads safely
   --> src\main.rs:160:45
    |
160 |                     return Command::perform(minio_util::upload_object(self.curr_bucket.clone(), object_name, file), |_| Message::Refresh);
    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ future returned by `upload_object` is not `Send`
    |
    = help: the trait `Sync` is not implemented for `dyn Sse`
note: future is not `Send` as this value is used across an await
   --> src\minio_util.rs:92:164
    |
92  | ...ut UploadObjectArgs::new(&bucket_name, object_name.to_str().expect("路径不支持"), filename.to_str().expect("路径不支持")).unwrap()).await.unwrap();       ...
    |       -------------------------------------------------------------------------------------------------------------------------------  ^^^^^         - `UploadObjectArgs::new(&bucket_name, object_name.to_str().expect("路径不支持"), filename.to_str().expect("路径不支持")).unwrap()` is later dropped here
    |       |                                                                                |
    |       |                                                                                await occurs here, with `UploadObjectArgs::new(&bucket_name, object_name.to_str().expect("路径不支持"), filename.to_str().expect("路径不支持")).unwrap()` maybe used later
    |       has type `UploadObjectArgs<'_>` which is not `Send`
note: required by a bound in `iced::Command::<T>::perform`
   --> C:\Users\17274\.cargo\git\checkouts\iced-3815be7e76d03e0b\8d77971\runtime\src\command.rs:43:53
    |
42  |     pub fn perform<A>(
    |            ------- required by a bound in this associated function
43  |         future: impl Future<Output = T> + 'static + MaybeSend,
    |                                                     ^^^^^^^^^ required by this bound in `Command::<T>::perform`

I tried to remove my wrapped upload method and call the minio_client method directly, and the error message became
return Command::perform(MINIO_CLIENT.upload_object(&mut UploadObjectArgs::new(& self.curr_bucket.clone(), object_name.to_str().expect("路径不支持"), file.to_str().expect("路径不支持")).unwrap()), |_| Message::Refresh);

error: future cannot be sent between threads safely
    --> src\main.rs:159:45
     |
159  | ...rm(MINIO_CLIENT.upload_object(&mut UploadObjectArgs::new(& self.curr_bucket.clone(), object_name.to_str().expect("路径不支持"), file.to_str().expect("路径不支持")).unwrap()), |_|        ...
     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ future is not `Send`
     |
     = help: within `impl std::future::Future<Output = Result<PutObjectBaseResponse, minio::s3::error::Error>>`, the trait `std::marker::Send` is not implemented for `dyn std::io::Read`
note: future is not `Send` as this value is used across an await
    --> C:\Users\17274\.cargo\registry\src\mirrors.tuna.tsinghua.edu.cn-df7c3c540f42cdbd\minio-0.1.0\src\s3\client.rs:3869:10
     |
3867 |             stream: &mut file,
     |                     --------- has type `&mut dyn std::io::Read` which is not `Send`
3868 |         })
3869 |         .await
     |          ^^^^^ await occurs here, with `&mut file` maybe used later
3870 |     }
     |     - `&mut file` is later dropped here
note: required by a bound in `iced::Command::<T>::perform`
    --> C:\Users\17274\.cargo\git\checkouts\iced-3815be7e76d03e0b\8d77971\runtime\src\command.rs:43:53
     |
42   |     pub fn perform<A>(
     |            ------- required by a bound in this associated function
43   |         future: impl Future<Output = T> + 'static + MaybeSend,
     |                                                     ^^^^^^^^^ required by this bound in `Command::<T>::perform`

The final solution is for me to fork the repository and change all the dyn Trait properties to: dyn XX + Send + Sync, hoping to help others


Fix Regression of TF2ONNX Examples

Type of Change
Bug fix
Description
The API of 'tf2onnx.tfonnx.fold_constants_using_tf' is changed after 1.10.1. We need to use tf2onnx>=1.10.1.
Expected Behavior & Potential Risk
Fix Examples
How has this PR been tested?
Extension Test
Dependency Change?
No

Extension test passed.


Remove obsolete code-quality CI workflow

[ ] ~Added tests for changed code.~ Not applicable
[ ] ~Updated documentation for changed code.~ Not applicable

code-quality workflow only runs pre-commit, which is already handled by pre-commit CI, so it should not be required anymore.
For instance on https://github.com/python-poetry/poetry-core/pull/362, we can see those 2 workflows are doing the same thing:

GitHub Actions code quality workflow
pre-commit workflow

Note that if this gets merged, the settings of the repository would need to be updated to remove Linting from the required checks.

Will need a rebase because of your other changes, @mkniewallner

Will need a rebase because of your other changes, @mkniewallner

Thanks, branch has been rebased.


Show blocked URL, add Dark mode

Blocked info page now shows full URL which has been blocked, not just the rule (from Settings) based on which it was blocked. Time period (if enabled to show – see Settings) will be shown for any time period now including All Time (this option was before hidden). (https://github.com/penge/block-site/issues/46)
There has been Dark mode added, which is activated based on your operating system or browser setting. Colors and paddings have been adjusted. The extension now has a new icon (letter b). (https://github.com/penge/block-site/issues/45)
Captions have been simplified, like in Options page or README. Option to Enable/Disable blocking has been moved to the top (in Settings) for easier access.
Closes https://github.com/penge/block-site/issues/46
Closes https://github.com/penge/block-site/issues/45

New UI is sleek, thanks!


Some locales not working for Calendar component

Originally posted in Grommet Slack channel - not resolved
Calendar component - what locales does grommet v2 support? I have tried en-US, zh-cn, es-es and all working. I need a couple of obscure ones (km-kh and lo-la) but don't seem to be working.
Weirdly it is working fine here https://codesandbox.io/s/grommet-sandbox-6khc3 - but could not find a package which is providing these extra locales
Code Example 1

locale="lo-la"

Code Example 2

The month name is still in English (unlike in the example in CodePen from original link). I am wondering if I am missing a locale dependency library.

Only response from Grommet Slack channel
This is the library grommet is using for date-formatting https://github.com/zloirock/core-js/#date-formatting.
Please share a markup of the code where the locales are not working, I think it should supposed to work.
packages.json
{
"name": "abc",
"version": "0.1.0",
"private": true,
"dependencies": {
"@apollo/react-hooks": "^3.0.1",
"apollo-boost": "^0.4.3",
"apollo-cache-inmemory": "^1.6.2",
"apollo-client": "^2.6.2",
"apollo-link-http": "^1.5.15",
"apollo-link-ws": "^1.0.18",
"aws-amplify": "^1.1.28",
"aws-amplify-react": "^2.3.8",
"dompurify": "^1.0.11",
"graphql": "^14.3.1",
"graphql-tag": "^2.10.1",
"grommet": "^2.7.3",
"grommet-icons": "^4.3.0",
"i18next": "^17.0.18",
"i18next-browser-languagedetector": "^3.0.3",
"i18next-xhr-backend": "^3.2.0",
"mapbox-gl": "^1.0.0",
"material-icons-react": "^1.0.4",
"prop-types": "latest",
"radium": "^0.25.2",
"react": "^16.8.6",
"react-apollo": "^2.5.6",
"react-dom": "^16.8.6",
"react-geolocated": "^2.5.0",
"react-i18next": "^10.13.1",
"react-mapbox-gl": "^4.4.0",
"react-router-dom": "^5.0.1",
"react-scripts": "3.0.1",
"styled-components": "^4.3.2",
"subscriptions-transport-ws": "^0.9.16"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"eslint-config-airbnb": "^18.0.1",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "^7.14.3",
"react-devtools": "^4"
}
}

This issue seems to be a Chrome related issue.
Related to this JS method:
How does toLocaleDateString() work in Chrome?
https://stackoverflow.com/questions/14835858/how-does-tolocaledatestring-work-in-chrome
It works fine in Safari.
I will build a pure JS implementation of the Calendar grommet widget.


Bad Performance

Files contain >4000 loc (when satellite is enabled) have big impact on performance
https://github.com/lewis6991/satellite.nvim/assets/101834410/39e96810-eba0-4ee7-b3b8-9d22455384e8
#45

Sorry, not enough information.

I didn't mention this because it was a bug in my config/system etc.
The plugin just needs to improve performance overall!
Just try it on a "big" file and you'll reproduce.

Just try it on a "big" file and you'll reproduce.

Can reproduce on a 10K lines markdown file.

Test case?

Most noticeable for me on https://github.com/justinmk/notes/blob/master/delicious.md but haven't narrowed down minimal steps. :syntax off and vim.treesitter.stop() don't fix it, only :SatelliteDisable

I can barely open that file with a minimal config. It completely locks up with set breakindent, and even after disabling that it is still really slow with all my plugins disabled.
We can explore adding some optimizations in places so massively long lines can be handled better, but whatever we do the functionality provided by this plugin is never going to be free.

Hmm, I can't replicate with:
vim.opt.rtp:prepend '/Users/lewrus01/projects/satellite.nvim'
require('satellite').setup()

vim --clean -u min.lua delicious.md

Ok I'll try to narrow it down

We've not determined anything yet. The initial description contained no useful information other than "bad performance".
Tbh, I'm not really sure why Justin commented here as it seems his issues are with very specific non-normal files.

I commented here because :SatelliteDisable ameliorates the issue.

Actually treesitter is the issue, not satellite.

It looks like for each mark, nvim_win_text_height is called with start_row set to 1 and end_row set to the line of the mark.
If that's the case, I think that could cause a slowdown for large files with many marks, since nvim_win_text_height has to loop from start_row=1 to end_row.
If my interpretation is correct (that successive calls are being made to nvim_win_text_height for the marks, with each call having start_row set to 1), one possible idea to reduce the slowdown could be to incorporate each call to nvim_win_text_height into the next, for each refreshing cycle, a dynamic programming approach.
For example, suppose that for a refreshing cycle that there is a call to nvim_win_text_height with start_row=1 and end_row=20 for mark 1, followed by a call to nvim_win_text_height with start_row=1 and end_row=40 for mark 2. Perhaps the second call could be adapted to use start_row=21 and add to that what has already been calculated earlier for mark 1. Then a subsequent call with e.g., end_row=80 for mark 3, could use the result that had just been calculated for end_row=40 for mark 2 (which itself used the earlier result for mark 1), added to what's calculated for start_row=41 (instead of start_row=1). I guess some additional handling would be necessary to account for or prevent successive calls from spanning the same closed fold.


Update url for clockwork and heroku

heroku.com -> herokuapp.com
fix dead (wrong?) clockwork github url. As stated by Adam, old forked repo is no longer maintained, use new active one instead
https for everyone

EDIT1: update active forked repo

Cheers @cuongnv23.


[KYUUBI #5210][FOLLOWUP] Close batch operation log even batch is in cancel state

:mag: Description
Followup for #5210
For batch operation, it has similar issue.
https://github.com/apache/kyuubi/issues/5210#issuecomment-1818499090
Issue References 🔗

This pull request fixes #
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklists
📝 Author Self Checklist

[x] My code follows the style guidelines of this project
[ ] I have performed a self-review
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] This patch was not authored or co-authored using Generative Tooling

📝 Committer Pre-Merge Checklist

[x] Pull request title is okay.
[x] No license issues.
[ ] Milestone correctly set?
[ ] Test coverage is ok
[ ] Assignees are selected.
[ ] Minimum number of approvals
[ ] No changes are requested

Be nice. Be informative.

It's doubted that the steps for closing OperationLog will be skipped when triggering the fast-fail case.


Issue 37946: Alias column conflict with import alias

Corrected column type to prevent error when an attempting to import an alias column

While testing Dan noted that the import parent alias was not case insensitive like the other columns. fixed with second commit.


Add lazy loading to iframe

Description
iframes are essentially a document being loaded in a document. Even one on a page can create performance issues potentially. This PR adds the loading attribute with the value "lazy", so that any <iframe /> embedded via the @raee/gatsby-remark-oembed package will be lazy loaded for browsers that support it.
The work here depends on #108 being closed first.
Related Issues
Closes #107

I squash merged the other PR, so getting a conflict here @nickytonline.
Would you like to fix, or should I do it?

I'll fix the conflict. 😎

It's all good now @raae.


.efkmodel File is much bigger than .c3b file or .FBX file

I have an 326KB .FBX file which contains model and animation, after convert to .efkmodel file, the .efkmodel file is 5.11MB.
If convert to .c3b file, it's 155KB.
So is there anything I can do to make the .efkmodel file smaller?

Because Effekseer in this version converts fbx into static meshes
So to reduce bones doesn't make sense.
To reduce size, reduce the number of vertex or animation length

Because Effekseer in this version converts fbx into static meshes
So to reduce bones doesn't make sense.
To reduce size, reduce the number of vertex or animation length

Thanks for answer my question! And I still got one more, if I try to use .c3b instead, I mean modify code myself, will it work well with other nodes? I haven't read all the efk::Model code yet.

If you can, you should add new node.
If there are many requests to reduce or new contributor, it can reduce it.

Thanks ,I'll see what i can do
I am using Effekseer in my game,and i think it's cool, Effekseer helps a lot, so thanks again!


Add interfaces for MLModel, MLModel.ModelInput, MLModel.ModelOutput generated classes

Is your feature request related to a problem? Please describe.
I have multiple models trained on a dataset that have multiple labels. I disable all of them and enable one of them at a time, do the training, and then enable only the next one, do the training etc.
I end up with multiple trained models and their respective generated classes for consumption.
Describe the solution you'd like
It would be great to have a common interface for the MLModel, MLModel.ModelInput and MLModel.ModelOutput classes, because when I need to consume them that would simplify my code significantly.
Describe alternatives you've considered
I can still use them separately, but this causes code duplication and code management difficulties.
Additional context
I would only need a definition on the interface of the MLModel for the IModelOutput Predict(IModelInput input) method, and the Score property on the interface of the ModelOutput.

I have some similar cases. I think it might also fit your case to simply use one class for all the models. It requires to edit the generated code a bit, and you might loose it upon re-training. To solve it I have a shared consumption code which takes the model name (zip file) as a parameter. The shared model (or interface) can include all the properties for all models, even extra ones. One benefit of this approach is that now I only need to update the zip file name, or read them from a directory, to change models used - no need to re-compile.
I have been ok with the above. The biggest problem I've had has been that some of the models have slightly different data types for some reason (maybe model builder versions have detected data type differently?). For some old models, I still need to analyze the schema to use the correct input classes.
In later version I've skipped use of PredictionEngine and use Transform method with a DataFrame as a parameter. It can be more flexible, because DataFrame can be built according to schema of the model.
I agree with the suggestion, though. Even better if the generation template would be configurable, such as a T4 file.

Thanks for the suggestion and details! Model Builder team - we need to investigate an appropriate solution to this issue.


Lightswitch with no background and props bgDark not applying style

Current Behavior
With release 0.132.4 the lightswitch is not applying the correct background color and the props "bgDark" and "bgLight" are not applying the correct class

Steps To Reproduce

Create a new sveltekit project
in +page.svelte import the Lightswitch module
Launch the app and see the defect.

Anything else?
No response

so with playing a bit with it, it seems like applying height="h-6" resolve the issue. is this intended?

@parotech123 No this was an accidental typo in the props for height, this has already been fixed and will be updated in the next release :) so just make a note that during the next release you can remove that prop.

thanks for the update!

thanks for the notification. .sure will do


Licenses

Hey James,
I see some discrepancies with the license stated in some of my plugins and your statements in your derivative work. For the Connectivity and DeviceInfo plugin the Apache 2.0 license is used. You can see all the "Must" stuff you need to do in order to adhere to the license here: https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)
Basically you have removed the copyright and license statements in the top of the files you are deriving from. You also need to state that the files have been modified. You also need to have a NOTICE file with attribution notes.
I did give you permission to use my code, which the Apache 2.0 license already states that you can do :smile:. Although I am pretty certain that you can't sub-license Apache 2.0 licensed code with a less restrictive license like MIT. Although your own code can be licensed as MIT, you must retain Apache 2.0 on my code.
If you need help fixing these things, please do tell. It might be easier to change the two plugins in question to Apache 2.0.
Thanks,
Tomasz

I can update this, sorry about that.

Does the NOTICE file need to simply be in github or included in the nuget package?

The NOTICE is only for redistribution of the source code. Not for compiled code.
Apache 2.0 also requires then user of any Apache 2.0 licensed code to be attributed inside of the application. So it should mention the usage of any Apache 2.0 licensed plugin inside the app, by linking to this repository.

Perfect, I will add a NOTICE file in there as well as others that are Apache 2.0 (the xamarin.mobile ones).

If it'd make it easier, I could look into relicensing using MIT or similar.