DS-2935 Encode obviously URI-unsafe characters

https://jira.duraspace.org/browse/DS-2935
I fixed the build of #1206, but haven't tested the PR itself.

@pnbecker : Could I ask you to run a quick test / review of this?  The code changes here sound reasonable to me, but figured they may be of high interest to you, as it fixes an issue with generating RDF.  Assuming you agree with these changes, I'd be +1 to merging.

As noted via IRC, could java.net.URLEncoder solve this issue instead of us manually swapping out individual characters?  https://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html
Manually encoding chars is a bit ugly. It seems like there should be a third-party library that could handle this better than we could do on our own.

I'll write a mail about that to @mdiggory and @cwilper tomorrow. They contacted me by mail before. Seeing the code now I notice that I didn't completely understood there mail when I got this.
This code change is more complicated than it seem to be on the first look.

It's been a while since had my head in this code, but IIRC, DSpace permits non-URI values to be stored as dc.identifier.uri metadata values, and RDFizer was assuming they were valid URIs, and then failing the entire RDF conversion in cases where that assumption didn't hold.
The idea of just using something like URIEncoder was considered, but keep in mind that if you blindly pass a URI-like thing to that, some characters are going to get encoded that you don't want encoded.  http://example.org/ becomes http%3A%2F%2Fexample.org%2F  ...that's not good. It's certainly not a URI.
What you really want is a function that takes something that already claims to be a URI, and encodes characters that are obviously not URI-safe. That's imperfect, but I think it's the best you can do with bad data. Such a function should NOT encode forward slashes, and various other characters that have a special role in a URI and may very well be being used correctly.
Either that, or just change RDFizer to not try to turn dc.identifier.uri as a URI.

Bad data are bad data.  They can't be fixed unless we understand what they were supposed to be.
When presented with something that's not actually a URI, we could (a) do nothing to it and pass the buck to the consumer; (b) fail; or (c) turn something unintelligible into something else that may be just as unintelligible.  I think that failure is actually exactly what we should do.  Fix your data.
I was going to say something about what URIEncoder is for, but realized I was thinking about URLEncoder.  Everybody and his brother seems to have written a URIEncoder.  Which one are we talking about?
Even with a proper URI, we can't just treat it as a string.  We need to take it apart, encode each piece as appropriate for that type of piece, and reassemble the pieces.  Depending on what type of URI it is, different pieces may have different encoding rules.
We can be heuristic here.  If it parses as a valid URI then treat it as one:  piecewise encoding.  Otherwise treat it as a string, encode anything that would result in invalid serialized RDF (according to the rules for that serial form), and hope the consumer understands it.  But I think we'd be telling lies to the consumer if we did that.

I think the value of pushing these things to an RDF graph is that you have something you can query against in a regular way. Having a potentially mixed set of node types (literal and resource) for the same field in such a graph makes it harder to query.
To offer a bit of background on the bad data that we were coping with at the time this PR was submitted, it actually came from a third-party DOI minting service. It was returning DOIs with non-URI-safe characters (I believe [] we were seeing [] and possibly (), which are fine to occur in DOIs but not URIs), and those were being stored in the item metadata as dc.identifier.uri by this code: https://github.com/DSpace/DSpace/blob/dspace-5_x/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java#L881 Notice how it calls upon DOI.DOIToExternalForm: https://github.com/DSpace/DSpace/blob/dspace-5_x/dspace-api/src/main/java/org/dspace/identifier/DOI.java#L44
But I now see that the raw "identifier" string (the DOI part of the URI) is not encoded as part of this operation. Looking at this again, I actually think that would be the more appropriate place to do escaping. I still think making RDFizer more robust in the face of bad data (e.g. treating dc.identifier.uri values as literals by default) would be good too.

Bad data are bad data. They can't be fixed unless we understand what they were supposed to be.

Well, "Data are Data", if you don't validate what is going into the field, then its not "Bad Data", your downstream code is just too restrictive and needs to be adjusted so it will better handle all cases.
In our opinion, the RDFizer should not fail to index the entire repository when one metadata field in the user content doesn't meet RDF IRI syntax rules. It should report the case in the logs and move on. All RDF nodes should be checked that they are well-formed before they are placed into JENA models for serialization. checking earlier means that decisions about error handling can be handled by adjusting the value to be encoded or turned into a Literal.

Sorry, I needed some time to think about that.
@mdiggory I don't know how failsafe RDFizer currently is, but I totally agree with you that it should log problems and continue instead of crashing. Please regard the following as a specific idea about how the generation of URIs currently work and how it should be extended.
The problem is a bigger than to find a solution for just dc.identifier.uri. The basic idea of Linked Data is to work with URIs for almost everything. For some metadata fields we will need to use URIs instead of literals if we want to generate useful Linked Data. dc.identifier.uri, dc.identifier.doi and also dc.subject.lcsh are good examples for fields we might want to transform into URIs. As metadata schemas and field can be added to DSpace the RDFizer doesn't have any static rules to convert data into Linked Data. Instead it is configurable. Following that, the RDFizer can be configured to transform every arbitrary metadata value in either a literal or an URI and not only dc.identifier.uri.
Currently the RDFizer supports only one mechanism to transform metadata fields into URIs: regular expressions. You can define a regular expression that shall make an URI out of a metadata value. This is good for simple transformation, but it is a limited approach (we all know about the Chomsky hierarchy). Obviously we need more sophisticated mechanisms for such transformations.
I have the following in mind: We extend the mapping rules so that it is possible to define a java class and arguments that should be called to change a metadata value. We could create an interface org.dspace.rdf.conversion.ValueModifier having a method String modify(String Value, String... args). In a metadata rdf mapping you should be able to define a class name and arguments. That class must implement the interface, the modify method is called and its return value is used either as URI or as Literal (this must also be configurable).
This could result in a DOIValueModifier that first uses java.net.URIEncoder on the suffix of the DOI, and concatenates the DOI out of the resolver address, the prefix, a slash and the encoded suffix. We might think about leaving forward slashes as they are, but colons, questions marks, hash marks, parenthesis and other unsafe characters should be encoded.
To make things simpler we could also transform our current regex mechanism by creating a RegexValueModifier that gets the regex as argument. Comments about that idea? Volunteers to implement this?
I'll copy that comment into our jira ticket, and would suggest to continue the discussion over there.


1.17.1 - Elytrian Origin - Armor is Broken

Instead of being able to use Leather, Chainmail and Gold armor only (as how the mod lists it), those 3 and also Iron armor are un-equippable. Additionally, you are able to equip diamond and netherite armor sets.
Quite obviously, this is broken on many levels, but it also makes the beginning parts of the game really challenging
I've included a video showing this in action. I don't have any audio or on-screen prompts showing this, but I click 3-6 time on the helmet slot for each of the helmets.
https://user-images.githubusercontent.com/94886674/142974856-88915b46-0145-48eb-80be-c6d20813354c.mp4
Also, I tested this with no other mods installed and the issue was still there. So no compatibility problems as far as I'm aware.

{   "type": "origins:restrict_armor",   "head": {     "type": "origins:armor_value",     "comparison": ">",     "compare_to": 2   },   "chest": {     "type": "origins:armor_value",     "comparison": ">",     "compare_to": 5   },   "legs": {     "type": "origins:armor_value",     "comparison": ">",     "compare_to": 4   },   "feet": {     "type": "origins:armor_value",     "comparison": ">",     "compare_to": 1   } }
the comparison operators are "greater than", rather than "less than"


MINIFICPP-1621 fix docker focal build

When upgrading compilers, I broke make u20. Since now we rely on the ubuntu toolchain ppa, we need the add-apt-repository command, and it's not available in ubuntu docker images. We need to install it before calling the bootstrap script in docker.
I also forgot to adapt it like I did with the other docker jobs, due to it not showing up in the CI.

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] If applicable, have you updated the LICENSE file?
[x] If applicable, have you updated the NOTICE file?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

would it make sense to add a focal build job to the ci, so we get immediate feedback if it breaks?

Both of our non-docker ubuntu jobs are running on that distro, just not in docker. I'd rather not duplicate this coverage or move it to docker, to keep resource usage in check.


Correct the 'continue' button functionality

It appears that the 'steps' value is not being defined within the template definition, and so it's not available for inclusion in the playout/rundown item, where it doesn't treat the 'continue' button properly.
This one line change fixes that issue.
Users will need to re-import the template and re-build the playout/rundown items, but at least, from that point on, the 'continue' button will work like it should, from what my testing shows.

Hmmmm.  Seems there's more to it - 'saving' the template (eg: after configuring the server value) seems to be discarding the 'steps' value?

@TuomoKu , please take a look.  Seems that this makes the 'steps' value be saved now, across edits of the project templates (eg: setting the casparCG player target) and this allows the 'continue' button to behave like it should during playout too.
I may have gone a bit further than strictly needed, but at least it's working for me locally.
Have not tried saving and importing via CSV file.


Improved documentation

Reduce duplicated text, move to markdown for easy of use, fix spelling and links, unify ORFS documentation in readthedocs to avoid duplication. Documentation for each tool/module should be in src/<TOOL>/README.md.
NOTE: this is not the final version, but a first step.

What is this pending on?

Pending on me -- the "Docs review" item in the past weeks since end of July
...  :-(
On Tue, Aug 17, 2021 at 9:19 AM Matt Liberty @.***>
wrote:

What is this pending on?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/The-OpenROAD-Project/OpenROAD/pull/932#issuecomment-900439584,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJTUPKT22WSTCZNH6NOCLNTT5KDY3ANCNFSM5BEXXVEA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Pending on me -- the "Docs review" item in the past weeks since end of July ... :-(
…
On Tue, Aug 17, 2021 at 9:19 AM Matt Liberty @.***> wrote: What is this pending on? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#932 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTUPKT22WSTCZNH6NOCLNTT5KDY3ANCNFSM5BEXXVEA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

Is this something we should move forward with what we have and come back again for further improvements or just wait?

I am editing it now.  In Vitor's OpenROAD-ABK fork.   I needed to find a
5-6 hour block of time (and it looks as if this will require more than
that). .....
(Thanks to Vitor for setting this up and correcting some process issue a
couple of hours ago.)
Since we're not done with PPA I hadn't felt a lot of pressure, but will get
through things today.
-- Andrew
On Tue, Aug 17, 2021 at 10:07 AM Matt Liberty @.***>
wrote:

Pending on me -- the "Docs review" item in the past weeks since end of
July ... :-(
… <#m_2188001587962375203_>
On Tue, Aug 17, 2021 at 9:19 AM Matt Liberty @.***> wrote: What is this
pending on? — You are receiving this because you were mentioned. Reply to
this email directly, view it on GitHub <#932 (comment)
https://github.com/The-OpenROAD-Project/OpenROAD/pull/932#issuecomment-900439584>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJTUPKT22WSTCZNH6NOCLNTT5KDY3ANCNFSM5BEXXVEA
. Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.
Is this something we should move forward with what we have and come back
again for further improvements or just wait?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/The-OpenROAD-Project/OpenROAD/pull/932#issuecomment-900477807,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJTUPKXWVPA6W7JPASWJUBLT5KJLLANCNFSM5BEXXVEA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.


How to query a range from a collection?

In our application we want to query the first 30 items (sorted by date). In order to achieve this, we do the following:
load_events_from_db: (conversation_id, start, end, limit = 30) ->
  @db['conversation_events']
  .where 'conversation'
  .equals conversation_id
  .reverse()
  .sortBy 'time'
  .then (records) ->
    return records.filter (record) ->
      timestamp = new Date(record.time).getTime()
      return false if start and timestamp >= start
      return false if end and timestamp <= end
      return true
  .then (records) ->
    return records.slice 0, limit

As you can see we are querying all items to sort them then in a reverse order by time. Is this the recommended way of doing it or is there another best practice?
P.S. I am sorry for the CoffeeScript but I hope it's still understandable.

The most optimal way to do this kind of query, is to use a compound index of [conversation+time].
Your query would be:
db.conversation_events
  .where('[conversation+time]')
  .between([conversation_id, -Infinity], [conversation_id, Dexie.maxKey])
  .reverse()
  .limit(limit)
  .toArray();

You might need a fallback for IE, Edge and old Safari versions. IndexedDBShim claims to polyfill compound index also for IE/Edge. IE won't complain over declaring the compound index, so if you don't want to use the shim, you could just fallback to your current query if the optimized query fails.

Thanks for your great response, @dfahlander.
I tried this query but all I am getting is:

TypeError: Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.

It complains about this part: where('[conversation+time]').between([conversation_id, start], [conversation_id, end]).
I will check what's wrong with it.

@dfahlander Thanks for your great answer!
Will your solution also work in Microsoft Edge? Because it requires a compound index and I read that Microsoft Edge's IndexedDB implementation doesn't support compound indices.
I am also a bit confused that you can pass arrays to between. Will the two arrays in your example be treated as lowerBound and upperBound (as described here)?
If I am right with my lowerBound and upperBound assumption, can I then include both limits by declaring .between [conversation_id, start], [conversation_id, end], true, true?

It won't work on ie or edge unless you polyfill it with indexeddbshim or idb-iegap. So I wrote earlier in this thread. IE won't complain over declaring the compound index, so if you don't want to use a shim, you could just fallback to your previous version of the query if the optimized query fails.

Yes, you are passing a lower- and upper bound array-key to Collection.between() which means you can pass true, true in the end to include both lower and upper boundaries in the query.


New Native Admob Banners are not visible

Hi @eladcandroid,
can you please provide some context and informations? I don't know what is not working.
react-native version? version of this plugin? Android or iOS?

I think he refers to this: https://firebase.google.com/docs/admob/android/native
Native ads, the concept of making ads looking like content ;)

Like @ptomasroos said. The point is that i'm using exactly the same code and when I'm just switching to the Native Ad pub id, the ad doesn't show up.
(RN 0.26)

That cannot work because the current banner implementation uses the AdView class (on Android). Just changing the Ad ID is not enough.
For Native Ads Express the used class has to be NativeExpressAdView. For Native Ads Advanced it's a bit more difficult.
So I guess the best way to implement that is to make a second component exported by this module.
I will publish some changes to the Interstitial API soon and after that I will take a look at Rewarded Interstitials. So I won't have time for it soon.
But pull requests are welcome of course!

is this something in the works?

Still needs some work, but I guess I should have something working soon!

Is there any news about Native Admob?

Unfortunately, there are too many tiny details in native ads I have to solve.
I'm currently not working on it, maybe I will when I have more time to spare but I can't give an ETA.

Really need this.

+1

+1, currently there's no way to display native ads to react-native.
http://stackoverflow.com/questions/40174853/is-it-possible-to-display-admob-native-ad-to-a-react-native-project

Any updates on this?

+1

Any updates on this?

Hi there,
I'm working with Native Express implementation.
@sbugert please take a look: https://github.com/sbugert/react-native-admob/pull/127
Only for android right now, but it's working!

Hi,
I have a couple of ads in a listview but each of them takes many time to load their content (from 10 to 15 seconds) but finally the content is displayed. Somebody has the same problem?

any update?

Hi there,
is there any update to add Native Ads advance in react-native-admob API.
@sbugert are you working over it..


nlf-r 0 does not work

I only want to print top level licenses, but
nlf -r 0

Does not limit the dependencies. Thanks.

This is because npm changed how it worked and now flattens the dependency structure.  I'm looking at changing how nlf determines the 'depth'.
I would say however that the legal basis of only looking at the top level is somewhat suspect anyway.  You're bundling all the node modules in your application, and almost the entire purpose of nlf is to uncover the hidden dependencies of dependencies that you pick up.

Fixed with https://github.com/iandotkelly/nlf/releases/tag/2.0.0


fix(txs,scripts) correct value for datum_hash

A bug did show the redeemer hash instead of the datum hash.

This not the datum datum, but the redeemer datum.


Add instructions to download the framework

This is gigantic! Massive PR! Thank you very much for your contribution, I'm very glad you've opened this.
Did you add tests?


Lazy loading of modules giving error

Hi,
I have upgraded to the latest version of Angular CLI - 1.5.4 and Angular 5. I am not able to workout a simple app, which lazily load modules.
Strangely, if I comment some code, the app gets recompiled and works perfectly. Even if I uncomment, what I commented before, it runs smoothly without any error. But if I stop npm and restart my app, I face same issue again.
Is it something at build time?
Angular-CLI - 1.5.4
<!--
ERROR in Error: Could not resolve module src/feature-module-one/feature1.module relative to E:/Build Learn Conquer/tests/testAOTModules/src/app/app.module.ts
    at StaticSymbolResolver.getSymbolByModule (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler\bundles\compiler.umd.js:31884:30)
    at StaticReflector.resolveExternalReference (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler\bundles\compiler.umd.js:30350:62)
    at parseLazyRoute (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler\bundles\compiler.umd.js:28616:55)
    at listLazyRoutes (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler\bundles\compiler.umd.js:28578:36)
    at visitLazyRoute (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler\bundles\compiler.umd.js:29995:47)
    at AotCompiler.listLazyRoutes (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler\bundles\compiler.umd.js:29963:20)
    at AngularCompilerProgram.listLazyRoutes (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler-cli\src\transformers\program.js:157:30)
    at Function.NgTools_InternalApi_NG_2.listLazyRoutes (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@angular\compiler-cli\src\ngtools_api.js:44:36)
    at AngularCompilerPlugin._getLazyRoutesFromNgtools (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:247:66)
    at Promise.resolve.then.then (E:\Build Learn Conquer\tests\testAOTModules\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:538:50)
    at process._tickCallback (internal/process/next_tick.js:103:7)

webpack: Failed to compile.
-->

Repro steps

Lazily load an angular module
ng serve

Observed behavior
<!-- Normally this includes a stack trace and some more information. -->

Desired behavior

Mention any other details that might be useful (optional)

Can you maybe reproduce here https://stackblitz.com/edit/angular-gitter-pdkcvh or give more infos about your routes ?

routes defined in app.module.ts
const appRoutes: Routes = [
    { path: "**", component: NotFound404, pathMatch: 'full' },
     { path: 'expense', loadChildren: 'src/expense/expense.module#ExpenseModule' },
     { path: 'user', loadChildren: 'src/user/user.module#UserModule' }
];

routes defined in featured module:
export const expenseRoutes: Routes = [

    { path: 'expense', component: ExpenseGroupComponent },
    { path: 'expense/:id', component: ExpenseGroupComponent },
    { path: 'expensesheet', component: ExpenseSheetComponent },
    { path: 'expensesheet/:id', component: ExpenseSheetComponent }
];

@istiti  -  Also, I tried the same stuff on the link you provided, it worked without any compilation error. Not sure what I messed up on my system.

Can you try using relative paths? At the moment you're using full paths from the project root and that isn't really supported.

@filipesilva - It was working fine with full paths from the project root. It's only after my angular upgrade to 5, things broke.
Please see the attached .rar file of my small app(please run npm install to install all dependencies). May be you get better idea of what is the culprit.
Thanks.
EPManager.zip

I understand that the absolute paths might have been working but I don't think it was ever the intention. Did you try with relative paths?

I have the same error after upgrading:
angular 4.3.1 => 5.2.3
cli 1.2.3 => 1.6.7
typescript 2.4.2 => 2.5.3
rxjs 5.4.2 => 5.5.6
zone.js 0.8.14 => 0.8.20
ERROR in Error: Could not resolve module app/admin/admin.module.ts relative to C:/Projects/mean-app/src/app/app-routing.module.ts
    at StaticSymbolResolver.getSymbolByModule (C:\Projects\mean-app\node_modules\@angular\compiler\bundles\compiler.umd.js:29765:30)
    at StaticReflector.resolveExternalReference (C:\Projects\mean-app\node_modules\@angular\compiler\bundles\compiler.umd.js:31610:62)
    at parseLazyRoute (C:\Projects\mean-app\node_modules\@angular\compiler\bundles\compiler.umd.js:29049:55)
    at listLazyRoutes (C:\Projects\mean-app\node_modules\@angular\compiler\bundles\compiler.umd.js:29011:36)
    at visitLazyRoute (C:\Projects\mean-app\node_modules\@angular\compiler\bundles\compiler.umd.js:31175:47)
    at AotCompiler.listLazyRoutes (C:\Projects\mean-app\node_modules\@angular\compiler\bundles\compiler.umd.js:31143:20)
    at AngularCompilerProgram.listLazyRoutes (C:\Projects\mean-app\node_modules\@angular\compiler-cli\src\transformers\program.js:156:30)
    at Function.NgTools_InternalApi_NG_2.listLazyRoutes (C:\Projects\mean-app\node_modules\@angular\compiler-cli\src\ngtools_api.js:44:36)
    at AngularCompilerPlugin._getLazyRoutesFromNgtools (C:\Projects\mean-app\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:248:66)
    at Promise.resolve.then.then (C:\Projects\mean-app\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:571:50)
    at process._tickCallback (internal/process/next_tick.js:109:7)

Here is src/app/app-routing.module.ts:
const routes: Routes = [
  { path: '', redirectTo: 'login', pathMatch: 'full' },
  { path: 'login', component: LoginComponent, canActivate: [LoginGuard] },
  { path: 'admin', loadChildren: 'app/admin/admin.module.ts#AdminModule', canLoad: [AdminGuard] },
  { path: '**', redirectTo: '' }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {}

Build will finish successfully if delete this line:
{ path: 'admin', loadChildren: 'app/admin/admin.module.ts#AdminModule', canLoad: [AdminGuard] }
Also changing to relative path didn't help.
If it will be helpful, other files:
-tsconfig.json
{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ],
    "paths": {
      "core": [ "app/core" ],
      "core/*": [ "app/core/*" ],
      "shared": [ "app/shared" ],
      "shared/*": [ "app/shared/*" ]
    }
  }
}

-tsconfig.app.json
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

-main.ts
if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule)
  .catch(err => console.log(err));

I found the reason of this error.
You should change all lazyload modules in your application like this example(remove .ts):
admin.module.ts#AdminModule => admin.module#AdminModule
If you change only one parent lazyload module (but not syntax of child lazyload modules), you have the same error related to parent module:
Could not resolve module app/admin/admin.module.ts relative to C:/Projects/mean-app/src/app/app-routing.module.ts

[https://stackoverflow.com/questions/47601637/angular-4-could-not-resolve-submodule-for-for-routing]
We have a solution here

Seeing this same issue on a dead simple app with Angular 6.0.5 and Angular CLI 6.0.8 (used CLI to generate a single feature module with routing and two components within that module, then set up lazy-load routing in app.module.ts).
Changing from an absolute to a relative path fixed the issue for me; if this is the only supported approach, someone should update the official Angular docs, which definitely use absolute paths in the examples!

One obvious addition, relative path (to app-routing.module.ts) should start with dot symbol
app/admin/admin.module#AdminModule => ./admin/admin.module#AdminModule
Such form doesn't work
app/admin/admin.module#AdminModule => admin/admin.module#AdminModule

@AmebaBrain Thank you.
Working on "@angular/core": "^6.0.3" and had the same issue as mentioned above everyone.
You just need to change
'./app/admin/...' => './admin/admin....'
as mentioned @AmebaBrain
app/admin/admin.module#AdminModule => ./admin/admin.module#AdminModule

the current angular 6 doc https://angular.io/guide/lazy-loading-ngmodules#configure-the-routes has the same issue still, and you get the error as well.
need to change:
app/customers/customers.module#CustomersModule => ./customers/customers.module#CustomersModule

I use relative paths and start with dot symbol but still have got the same problem. Any solution?

@filipesilva  i think there is a bug at all...  Please download that sample - it is almost empty project just to show angular to collegues:
build-lazy-bug.zip

NPM I
Open layout.routing.ts
`import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { LayoutComponent } from '../components';

const layoutRoutes: Routes = [
{
path: '',
component: LayoutComponent,
children: [
{
path: 'rooms',
loadChildren: '../../room/room.module#RoomModule'
}
]
}
];
export const layoutRouting: ModuleWithProviders = RouterModule.forChild(layoutRoutes);
`
and try to run / build application (ng serve), there is an error:
ERROR in Could not resolve module ../../room/room.module relative to /D/GIT/angular-empty/src/app/layout/layout.module.ts
JUST resave any file to start rebuild on watch (press ctrl+s):

no error
works like a charm

I feel like i have encountered this problem like year ago and it is back.

+1

+1

I found the reason about this problem. We need tell compiler the base directory to resolve non-relative module names. The configuration file tsconfig.app.json is the right place to do that.
Open file src/tsconfig.app.json and add a line "baseUrl": "./", to indicate the base directory.
This is the final file after I added the new line:
{   "extends": "../tsconfig.json",   "compilerOptions": {     "outDir": "../out-tsc/app",     "baseUrl": "./",     "module": "es2015",     "types": []   },   "exclude": [     "src/test.ts",     "**/*.spec.ts"   ] }

Thanks for reporting this issue. This issue was originally reported a long time ago and since then we've had many releases, one of which might have addressed this problem. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


No candidate version available for docker-ce on ubuntu 19.10

Cookbook version
4.10.0
Chef-client version
14.8.12
Platform Details
Ubuntu 19.10
Scenario:
Install docker-ce on Ubuntu 19.10.
For what it's worth, it doesn't look like there's a eoan repo yet. https://download.docker.com/linux/ubuntu/dists/
Steps to Reproduce:
Run a docker_installation_package 'default' on an Ubuntu 19.10 instance.
Expected Result:
Install docker-ce
Actual Result:
https://gist.github.com/jlosito/354a3b08682bfa65546bd80ddd1e52a6

Hi @jlosito, Could you please check it on the latest version of the docker cookbook?
I have verified, its working fine on the latest version of the docker cookbook with chef-client 14, 15 and 16.

It's working on the latest version of the Docker cookbook, So closing this issue. Thanks!


Remove "mode" from derive macro terminology.

This is just my personal preference, which seems to read more easily to me. The concept of "mode" wasn't really clear, and I think "derive macro" is sufficient.
For context, see: https://github.com/rust-lang-nursery/reference/pull/412#discussion_r214538427 and https://github.com/rust-lang-nursery/reference/pull/528#pullrequestreview-209855431

Just a quick check (e.g. didn't check if links work), so not going to r+, but everything appears fine to me.


release: v2.17.0

:tada: This PR is included in version 2.17.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


希望能自定义插件安装位置

我希望VScode能自定义扩展安装位置。现在虽然可以用控制台手动更改扩展（extensions）的连接位置，但这种凡是比较麻烦。如果更改VScode中的有关文件，在VScode更新的时候原来加上去的代码会被替换掉。因此希望VScode能直接自带自定义扩展安装位置的功能，减少每次手动更改的麻烦

I want vscode to customize the extended installation location. Although you can manually change the connection location of extensions using the console, this is usually a bit more troublesome. If you change the relevant files in vscode, the code added to it will be replaced when vscode is updated. Therefore, it is hoped that vscode can directly bring the function of custom extension installation location, reducing the trouble of manual change every time.

Hey @Vincent0706,
Thanks for changing the description to English, can you also change the title?

What exactly is the extended installation location?

Apart from --extensions-dir, there is the env variable VSCODE_EXTENSIONS. This is enough for you to create tools around to make that change permanent.

Could you tell me where is the env variable VSCODE_EXTENSIONS? I can't find that on my computer.


Cleanup: CI, tests, fmt, clippy, just

This does not change code in any significant way, but automated testing using GitHub CI, formats code for consistency, and adds just targets to simplify development.
There were a few clippy fixes that didn't appear too significant.
Relevant changes:

Exposed item::ItemType in public (it is exposed in docs, clippy was complaining)

P.S. Please consider renaming to main branch

Cool thx.
I'm on vacation right now, but I'll check it out once I'm back.

Thx!  It would be cool to either expose more of the osmium's functionality (e.g. replication server handling, etc), or possibly have a clean rust implementation (not certain if its worth the time though)

Hi, sorry for taking a while.
yes I agree on both statements. It would be really cool to expose more or reimplement it cleanly. Sadly I don't have time right now to work on it.

thx for merging. If you want, i could try to help with this proj, inculding publishing, etc.


DS-3461 : cleanup command fails to properly delete object files from storage

https://jira.duraspace.org/browse/DS-3461

Hi @albertocpbranco, this looks pretty good (get/put/about/remove). However, one thing that I don't see is how the GCS authentication is handled. For the S3 implementation there is access key, secret, and bucket, but for GCS, I see that if you run DSpace on Google Cloud, it will provide you a service account through the cloud platform environment, but I don't see a way to set a service account for use outside of Google Cloud Platform.

Hello @peterdietz ! Thanks for your review !
I have it documented on https://jira.duraspace.org/browse/DS-3462?filter=-2 and I have placed a comment at the start of the class explaining it:

You need to set GOOGLE_APPLICATION_CREDENTIALS environment variable pointing to json key file given by GCP after creating a service account (see https://developers.google.com/identity/protocols/application-default-credentials)

A service account in GCP is an account to be used only by an application, which is exactly the case. You create the account and follow the instructions on the documentation, then a .json file is provided. That file should then be defined in the GOOGLE_APPLICATION_CREDENTIALS environment variable. Once "storage" is called in the code, the authentication happens behind the scenes, and the environment variable checked/validated, otherwise an authentication exception is thrown.
There are other ways to implement GCP Storage authentication but this is the way I decided to implement it because every other way I found documented are for GCP specific installations (App Engine or Compute Engine). This way works for every installation, independent of platform, at least that's what I learned.
Let me know if I wasn't clear enough or if it should be implemented differently.
Thanks,
Pedro Amorim

Thanks @ammopt, environment variable GOOGLE_APPLICATION_CREDENTIALS that has path to the json file from Google. I'm trying to balance how exactly this would be set. For tomcat you would alter something like /path/to/tomcat/bin/setenv.sh, and before JAVA_OPTS you have GOOGLE_APPLICATION_CREDENTIALS = /path/to/auth.p12.json. But, because DSpace is also command-line, you have to alter /path/to/dspace/bin/dspace to declare the GOOGLE_APPLICATION_CREDENTIALS as well.
For us, we wouldn't be able to set this environment variable server-wide, would could have multiple DSpace instances on a single application server.
Also, this might be an even more esoteric sounding use-case, but one feature that the current bitstore implementation allows is for migrating bitstreams from assetstore to another. We've made a lot of use of this as we've migrated local filesystem assetstores to S3. And we've even migrated from S3 to a different S3 access/secret/bucket, as we've cleaned up our AWS accounts. If you had a single environment variable GOOGLE_APPLICATION_CREDENTIALS, I don't believe you would be able to migrate from GCS bucket dspace-app-1 owned by XYZ University to bucket acme-dspace-xyz owned by Acme company (in case you migrated DSpace hosting provider from campus maintained in Google cloud to a hosting company using Google Cloud), as the credential key wouldn't be able to access both buckets owned by different companies. I suppose this could be fine, you would just have to note that you can only have one Google Cloud Storage configured for a DSpace at a time.

Hey Peter,
Once again, thanks a bunch for your help and guidance.
I have implemented it differently now and tested it to confirm it works as before, but now the secret file and project id must be configured at the bitstore level, instead of the previous environment variable level.
Can you take a quick look?
Thanks,
Pedro Amorim

Hello @peterdietz
Thank you for your review and all your help in this implementation.
I would like to ask advice of you or someone else who can help regarding the mime type of a bitstream in DSpace.
After a couple of days using this implementation on a test installation, I noticed that GCS adds metadata for the object automatically (size, checksum, create date) but doesn't add the content-type metadata.
We can set the content-type metadata when creating the BlobInfo for GCS like so:
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("image/jpg").build();
But, of course, I'd like to set that content type dynamically, depending on the bitstream, so I tried this:
Context context = new Context(); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType(bitstream.getFormat(context).getMIMEType()).build();
However, it's setting the content-type as application/octet-stream for every file instead of the normal image/jpg or image/png.
Is there some other way I should be attempting this? Also, I have no idea what "Context" is and why it's needed for this.
Thank you

Duplicate of / fixed by #1851.


Move portrait information

It used to be in common/portraits/00_portraits.txt, and now is elsewhere

They just moved it to [game folder]/portraits/00_portraits.txt. Nothing is changed of the file.

Good to know. I'm just working down the list in a diff view, so hadn't yet gotten to seeing where they moved them.


add assist for flipping trait bounds

Adds a new assist for flipping type bounds, as described in #2054.
The current implementation is as follows:

The assist works anywhere in a type bound list (with >1 elements).
If the cursor is between two type bounds (on the + or on whitespace) , these are flipped.
If the cursor is on a type bound, flips with the preceding bound, or the following one if the cursor is on the first bound. The reason for switching with the preceding typebound rather than the following one is that if the cursor is positioned at the first index of a type bound, it visually appears to be between that bound and the preceding one. e.g:

// cursor is "between" A and B, so flipping B and C would be unexpected
fn f<T: A + <|>B + C>(t: T) { }

The cursor position is always restored to the same index as it was before.

Does this implementation make sense to you? I'm happy to make any changes if I've missed something.
Should the assist perhaps be called flip type bounds?

Should the assist perhaps be called flip type bounds?

:+1: flip trait bound sounds to me like flipping B and C in trait A: B + C {.

Closing this in favor of #2082 which takes the approach described by @matklad :)


Fix handling grouped_df in dataview_table

What problem did you solve?
Closes #247
(If you do not have screenshot) How can I check this pull request?
library(dplyr)
mtcars %>% group_by(cyl) %>% View()

@intiben Would you like to test this with the build artifact at https://github.com/Ikuyadeu/vscode-R/pull/248/checks?

@renkun-ken it works beautifully thanks a lot for addressing this issue!


flow: Fix possible leak in resolver-conffile

Issue pointed out by coverity.
Signed-off-by: Anselmo L. S. Melo<EMAIL_ADDRESS>

Applied with the change suggested by @barbieri. tks.


Provide binaries, please

I am on Windows, using Internet through my phone and its Interne phone plan (slow, limited connection).
To use your software, I have to use cargo.
To use cargo, I how to download rustup.
To run it, I have to download Visual Studio Installer.
This one is a more than 1 GB download!
That's a lot to get a "simple" command line tool, no?
I like the concept of your tool, leveraging the power of the text editor of our choice rather than dealing with more or less exotic options. But the entrypoint is a bit too high.

Added binaries for linux and windows to the latest release (I don't own a mac). I created an issue to automatically create binaries in the future.

@mtimkovich I could also code-sign the Windows builds, if that is desired. We would have to look into if and how it affects stack backtraces, but stripping symbols may be another good idea.
Last but not least for Linux I would strongly recommend to build using something like x86_64-unknown-linux-musl (rustup target list). For a self-contained program this is the best option, providing the widest possible backwards compatibility, if statically linked (sometimes it's even smaller).
As it stands, the binary is tied to a fairly recent version of GLIBC:
$ readelf -V renamer-1.6.5-linux

Version symbols section '.gnu.version' contains 116 entries:
 Addr: 0x00000000000014b8  Offset: 0x0014b8  Link: 5 (.dynsym)
  000:   0 (*local*)       2 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  004:   4 (GLIBC_2.9)     3 (GLIBC_2.2.5)   2 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  008:   3 (GLIBC_2.2.5)   5 (GCC_3.0)       3 (GLIBC_2.2.5)   5 (GCC_3.0)
  00c:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  010:   3 (GLIBC_2.2.5)   5 (GCC_3.0)       3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  014:   2 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   6 (GLIBC_2.17)    3 (GLIBC_2.2.5)
  018:   0 (*local*)       3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  01c:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  020:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   5 (GCC_3.0)       3 (GLIBC_2.2.5)
  024:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  028:   0 (*local*)       3 (GLIBC_2.2.5)   5 (GCC_3.0)       3 (GLIBC_2.2.5)
  02c:   3 (GLIBC_2.2.5)   0 (*local*)       7 (GLIBC_2.18)    3 (GLIBC_2.2.5)
  030:   5 (GCC_3.0)       3 (GLIBC_2.2.5)   8 (GLIBC_2.3)     2 (GLIBC_2.2.5)
  034:   3 (GLIBC_2.2.5)   9 (GLIBC_2.3)     3 (GLIBC_2.2.5)   5 (GCC_3.0)
  038:   a (GLIBC_2.25)    b (GCC_3.3)       3 (GLIBC_2.2.5)   2 (GLIBC_2.2.5)
  03c:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  040:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  044:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  048:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  04c:   c (GCC_4.2.0)     3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  050:   d (GLIBC_2.15)    3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  054:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   e (GLIBC_2.3.4)   3 (GLIBC_2.2.5)
  058:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   5 (GCC_3.0)       3 (GLIBC_2.2.5)
  05c:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)
  060:   2 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   2 (GLIBC_2.2.5)
  064:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   f (GLIBC_2.28)
  068:   5 (GCC_3.0)       3 (GLIBC_2.2.5)  10 (GLIBC_2.14)    3 (GLIBC_2.2.5)
  06c:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)   5 (GCC_3.0)       3 (GLIBC_2.2.5)
  070:   3 (GLIBC_2.2.5)   3 (GLIBC_2.2.5)  11 (GLIBC_2.29)    3 (GLIBC_2.2.5)

Version needs section '.gnu.version_r' contains 4 entries:
 Addr: 0x00000000000015a0  Offset: 0x0015a0  Link: 6 (.dynstr)
  000000: Version: 1  File: ld-linux-x86-64.so.2  Cnt: 1
  0x0010:   Name: GLIBC_2.3  Flags: none  Version: 9
  0x0020: Version: 1  File: libgcc_s.so.1  Cnt: 3
  0x0030:   Name: GCC_4.2.0  Flags: none  Version: 12
  0x0040:   Name: GCC_3.3  Flags: none  Version: 11
  0x0050:   Name: GCC_3.0  Flags: none  Version: 5
  0x0060: Version: 1  File: libc.so.6  Cnt: 11
  0x0070:   Name: GLIBC_2.29  Flags: none  Version: 17
  0x0080:   Name: GLIBC_2.14  Flags: none  Version: 16
  0x0090:   Name: GLIBC_2.28  Flags: none  Version: 15
  0x00a0:   Name: GLIBC_2.3.4  Flags: none  Version: 14
  0x00b0:   Name: GLIBC_2.15  Flags: none  Version: 13
  0x00c0:   Name: GLIBC_2.25  Flags: none  Version: 10
  0x00d0:   Name: GLIBC_2.3  Flags: none  Version: 8
  0x00e0:   Name: GLIBC_2.18  Flags: none  Version: 7
  0x00f0:   Name: GLIBC_2.17  Flags: none  Version: 6
  0x0100:   Name: GLIBC_2.9  Flags: none  Version: 4
  0x0110:   Name: GLIBC_2.2.5  Flags: none  Version: 3
  0x0120: Version: 1  File: libpthread.so.0  Cnt: 1
  0x0130:   Name: GLIBC_2.2.5  Flags: none  Version: 2

This may be desired, but for a software like renamer, I doubt it's intentional.

Thanks @assarbad, both really good suggestions. I already updated the linux release to use that target. I want to automate the release build process and I wonder if code-signing on Windows could be part of that process.

Thanks @assarbad, both really good suggestions. I already updated the linux release to use that target.

Cool!

I want to automate the release build process and I wonder if code-signing on Windows could be part of that process.

Okay, this is not possible without outrageously expensive means (and even then it's semi-automatic), I'm afraid. The CA/B forum now (since June, IIRC) mandates that the private key for a code-signing certificate need to never leave the hardware on which it was created (unless I completely misunderstand the new rules). Since the signing only ever signs the hash of over the binary, this is still practical even when run against a smartcard. At work, I am working on an attempt to at least make this whole stuff more practical, but I guess other than performing a build and uploading the code-signed binary, I have not much to offer, because I am equally already bound to the key being on a piece of hardware.
Still, the project could simply also publish a file with cryptographic (SHA-256 is considered state of the art) hashes and -- optionally -- a detached PGP signature on that hash file. This way end users have a way to verify integrity of the download. The file hashes are of course equally useful to Linux users.
And in addition to that I could look into the automation for PRs to winget-pkgs upon new releases here (someone created a GitHub action for that, I'll look it up). winget now lets you install from a ZIP archive, which may be a neat way to get a verifiable renamer.exe to the users?! AFAIK it has to be in a ZIP file, but no actual installer is required.
Sorry for hijacking this ticket. Should I open a fresh one, @mtimkovich ?

No, I don't mind hijacking this ticket. I'm nearly done updating the Github actions on this repo to automatically build and publish the releases, and adding shas to the release should be simple enough.
Adding winget publishing to actions looks easy enough if it's something we wanna do.

Actually scratch that, let's open a new ticket for winget discussion

Back to Windows binaries, thanks, it works!
A little test:
D:\Temp\Photos
> renamer save*
Error: No replacements found
# Opened Notepad, sensible default on Windows, but not for me…

D:\Temp\Photos
> set EDITOR=C:\PrgFiles\_Text\SciTE\SciTE.exe
# Path created by an Explorer Extension…

D:\Temp\Photos
> renamer save*
Error: Failed to execute editor command: 'C:PrgFiles_TextSciTESciTE.exe'
# OK for me…

Caused by:
    program not found

D:\Temp\Photos
> set EDITOR=C:/PrgFiles/_Text/SciTE/SciTE.exe
# Edit the previous line!

D:\Temp\Photos
> renamer save*

The following replacements were found:

SAVE_20190818_145730.jpg -> Photo_20190818_145730.jpg
SAVE_20200127_091058.jpg -> Photo_20200127_091058.jpg
SAVE_20200304_154723.jpg -> Photo_20200304_154723.jpg
SAVE_20200318_190450.jpg -> Photo_20200318_190450.jpg
SAVE_20200516_113631.jpg -> Photo_20200516_113631.jpg

Execute these renames?: Yes

Good! Perfect, I can use multiple cursors, search/replace, including regexes, in the editor. Simple to use, flexible and effective.
2 MB is a bit a lot for a command line tool, but it is OK. And maybe assarbard can help there too.

Yeah, not sure why the Windows build is 2x the size of the *nix builds, I'll see if that can be fixed.


Fix horizontal scroll on short code blocks

The scrollbar overtakes short code blocks, making the text hidden behind the scroll bar.

Fixed in upcoming release with 4baf517301bc3ef079d4e4d5d08383521a7fb5ce.


Change the repo description

Hi @ingohackl could you maybe change the repo description?

Should I add a link to the website (https://community.dynatrace.com/community/display/DL/Slack+Integration+Plugin) like this is done for other plugins?

Yes thank you. And this as the text above the link:
SlackChat integration for Dynatrace This integration works via WebHooks for Slack


add check for infinity in call of EngFormatter

EngFormatter throws an exception if passed 'inf' as below.
This patch checks for infinity and just returns 'inf' in that case.  The fix is analagous to the recent fix for NaN:
https://github.com/pydata/pandas/commit/d0734ba4d0f4c228110dc3974943ce4ec2adeea4

import pandas
import pandas.core.format as fmt

ef = fmt.EngFormatter()
ef(pandas.np.inf)

...

OverflowError                             Traceback (most recent call last)
 in ()
3
4 ef = fmt.EngFormatter()
----> 5 ef(pandas.np.inf)
/usr/lib/python3/dist-packages/pandas/core/format.py in call(self, num)
2485
2486         if dnum != 0:
-> 2487             pow10 = decimal.Decimal(int(math.floor(dnum.log10() / 3) * 3))
2488         else:
2489             pow10 = decimal.Decimal(0)
OverflowError: cannot convert Infinity to integer

tests pls

Current coverage is 85.23% (diff: 100%)

Merging #14214 into master will increase coverage by <.01%

@@             master     #14214   diff @@
==========================================
  Files           140        140
  Lines         50566      50568     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          43102      43104     +2
  Misses         7464       7464
  Partials          0          0

Powered by Codecov. Last update f363236...f2348e7

thanks!

A pleasure.  Pandas is magic.
On 13 Sep 2016 19:00, "Jeff Reback"<EMAIL_ADDRESS>wrote:

thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pydata/pandas/pull/14214#issuecomment-246839271, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPW25I6CyKwwpIw8sAuzo3JBXKDx9z-ks5qpxzzgaJpZM4J8CRc
.


Alternative search query: remove common and platform-specific phrases.

While this is a lucky, almost-coincidence that it helps https://github.com/dart-lang/pub-dartlang-dart/issues/595, the query rewrite helps packages in a generic way.

Help me understand this a bit better before we land it?

Help me understand this a bit better before we land it?

Assume you are on Flutter, and search for Flutter datastore. Right now we will serve you with one result. With this patch, we'll do the same Flutter datastore query, but also try datastore as well, and combine its results with the original query's results.
The phrases we try to remove from the query are common (e.g. dart) and also platform-specific, in this case Flutter. The alternative query's weight decreases with the more phrases we are removing, e.g. flutterdart database will remove both flutter and dart from the query text, and it will weight much less than if only one of them could have been removed.
I guess I'll need to update the readme with this :)

Updated readme.

I'm having a second thought on this. Please postpone review for now.

While it helps for the AngularDart query, it seems to put packages like dartson (with the dartson as query text) at disadvantage, causing it to rank further down than their original position.
I've also sampled the indexed terms and the past week's history of searches I don't think that the complexity here is worth it.


glXF and behaviors

[ ] Implement loader (loaders package)

Reuse the glTF loader architecture to implement the glEF loader
Define a base loader to be used by both loaders
Implement both glEFFileLoader and glEFLoader in version 2.0
Define the glEF interfaces

[ ] Tech investigation

Research usage of ActionManager and how it can be extended
Can we reuse Babylon core components, or is it impossible without implementing further modules
How abstract can we generate the modules so that they will be usable in packages like VSM?

[ ] Implement requires components (core package) - Might change after investigation

Actions
Triggers
Behaviors

[ ] Implement the behaviors extension

Implement a new extension for behaviors
make the connection between the loader and the core components

This part is done. Waiting for more glTF specs


Allow specification of custom chrome executeable

I think the linter is happy now^^

@resterle do you need a new release or can that wait for a bit?

@resterle do you need a new release or can that wait for a bit?

A new release would be great if it does not make to much work.

released v1.1.0

Thank you!


Error when recognising object

I get this error whenever I run image_processing.scan service. How do I fix this?
Update for image_processing.person_detector fails
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 220, in async_update_ha_state
    await self.async_device_update()
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 375, in async_device_update
    await self.async_update()
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/image_processing/__init__.py", line 132, in async_update
    await self.async_process_image(image.content)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/deepstack_object/image_processing.py", line 115, in process_image
    predictions_json = response.json()["predictions"]
KeyError: 'predictions'

After coming back and trying again after a few days, I now get a new error that tells me ConnectionError: Is deepstack_object running? or Update of deepstack_object is taking over 10 seconds. whenever I try to run image_processing.person_detector. It also shows the same with deepstack_face component. So far I have tried changing ip address of server, changing port, activating api, reinstalling but it doesn't seem to do anything. I used to see the request come through on the server side before but now nothing. I hope I can find a way to fix this cause I was really looking forward to using this component. Thanks for your help.

After activating API and installing noavx version, it now works perfectly.


error while doing python main.py

hello
i'm getting an error while doing python main.py
Traceback (most recent call last):   File "main.py", line 10, in <module>     runpy.run_path(script_path, run_name="__main__")   File "/usr/lib/python2.7/runpy.py", line 252, in run_path     return _run_module_code(code, init_globals, run_name, path_name)   File "/usr/lib/python2.7/runpy.py", line 82, in _run_module_code     mod_name, mod_fname, mod_loader, pkg_name)   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code     exec code in run_globals   File "../jasper.py", line 12, in <module>     from client import tts   File "../client/tts.py", line 41, in <module>     import diagnose   File "../client/diagnose.py", line 9, in <module>     import pip.req   File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 21, in <module>     from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning ImportError: cannot import name DependencyWarning
any help would be appreciated
thank you

I followed this: https://github.com/infobyte/faraday/issues/164


Update async-http-client to 2.12.3

Updates org.asynchttpclient:async-http-client from 2.12.2 to 2.12.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.12.2).
You might want to review and update them manually.
project/Http4sPlugin.scala
website/src/hugo/content/changelog.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.asynchttpclient", artifactId = "async-http-client" } ]

labels: library-update, semver-patch, old-version-remains

Can do this in 0.22.


Could not find a declaration file for module

Actual behavior
Importing VueTransitions shows TS error.
Expected behavior
Importing should be fine.
Steps to reproduce
main.ts:
import './assets/main.css';

import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
import { createApp } from 'vue';
import VueTransitions from '@morev/vue-transitions';
import '@morev/vue-transitions/styles';

import App from './App.vue';
import router from './router';

const app = createApp(App);

const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);

app.use(pinia);
app.use(router);
app.use(VueTransitions);

app.mount('#app');

Error:
Could not find a declaration file for module '@morev/vue-transitions'. '.../node_modules/.pnpm/@morev+vue-transitions@2.3.6_vue<EMAIL_ADDRESS>implicitly has an 'any' type.
  There are types at<EMAIL_ADDRESS>but this result could not be resolved when respecting package.json "exports". The '@morev/vue-transitions' library may need to update its package.json or typings.ts(7016)

Environment

OS: Windows 11
vue 3.3.11
typescript 5.3.0
vite 5.0.10

Additional context
No response
Possible solution
No response

@ignissak Good day,
Thanks for the issue, the problem is clear.
I'll try to make the changes this weekend. I'll ping you when this is resolved. :)

Since there is no fix yet, this is a workaround:

Create your own types file (for example types.d.ts) inside your src.
Copy this code:

declare module '@morev/vue-transitions' {
  const VueTransitions: any;
  export default VueTransitions;
}```

@ignissak
Thank you for posting a workaround and I apologize for not being able to make the change yet.
Low energy, limited time, a lot of things to do... Someday I'll clean this place up :)

@ignissak
This should be fixed with 3.0.1 release, thank you for pointing it out.
Let me know if you are still experiencing any issues :)


docs: Update Jenkins docs content

Update Jenkinsfile
Embed youtube video tutorial

@jpadams . Do you think it's possible to get a higher resolution on the YouTube video ? Right now we can't go up to 480p. Thanks


Fixes for issue #2998

This PR includes changes mentioned on #5038 required for merging it.
closes #2998

would you mind rebasing against master? That CI failure was due to a coreutils update that broke some CI scripts. Updating to master will get you the fixed scripts. Thanks

Rebase done, tests are passing :fireworks:

ping

We just switched branches over. Helm 2 development is on the dev-v2 branch, and Helm 3 development is on the master branch. Would you mind re-opening this PR against the correct branch once this is ready for review again? Thanks.


Tweak the main page

Goal
Discuss with your peers what you would like the homepage to show! It can be a good opportunity to tweak the app colors/layout etc.
As in pervious issue, keep it simple (no big images, external assets, etc)
This can be an ongoing issue while you all keep implementing things.

To kick things off here's what I'm thinking:

Boxes centered of course.

I love the background image shared here @Paul-Sizon

Gradient or image?🤔

I like both options.


Support fixable flag from esLint

With the latest version of eslint, they added the support to automatically fix errors with the fixable flag on the rules and passing the --fix thru the cli.
Are you planning to add support to this on your rules by any chance? this is a nice feature to automatically fix the most obvious and easy ones. at least.
Thanks

Yes, I'm planning to add support for the fixable flag, at least for formating rules.
But PR are welcome ;)

There are a number of rules that are autofixable now. This issue can probably be closed out.


"Approval" tab not showing up in the Backend header bar

Please let me know if there's something I need to configure (I'm able to process approvals via the Wexflow Manager app):

@michaelstewartcopp I removed Approval tab and added approval buttons in the manager tab. Just search for your approval workflows in the manager tab and you can approve/reject your approval workflows from the manager tab in the backend. I removed Approval tab because there was a lot of duplication between Approval and Manager tabs in the backend. Also, now there is parallel approval jobs support from the manager tab. Just start your approval workflow from the manager and then select the approval job from the jobs view in the manager and you can approve/reject the job.

Sounds good - thanks Akram


LittleBigPlanet™ PlayStation®Vita PCSF00021 1.22

App summary

App name: LittleBigPlanet™ PlayStation®Vita
App serial: PCSF00021
App version: 1.22

Vita3K summary

Version: v0.1.8
Build number: 3335-7540bf75
CPU backend: Dynarmic
GPU backend:Vulkan

Test environment summary

Tested by: Vergi314
OS: Windows 10
CPU: AMD
GPU:NVIDIA
RAM: 4 GB

Issues
It keeps crashing whenever attempting to play the cutscene level "The Plot Thickens!" from Jackpot City, it just freezes and crashes mid-loading when entering. The log says this error message:[12:59:47.973] |C| [logging::init::<lambda_2>::operator ()]: Unhandled C++ exception. vk::Device::allocateDescriptorSets: ErrorOutOfPoolMemory. Could it be a potential memory leak? Anyway, i am unable to progress through story mode now because of this.
Screenshots
Log
[12:59:47.973] |C| [logging::init::<lambda_2>::operator ()]: Unhandled C++ exception. vk::Device::allocateDescriptorSets: ErrorOutOfPoolMemory
Recommended labels

A?
B?
C?

your issue is duplicate, see #188


Error message when trying to access pacakge

Hi all I have tried to access the package as instructed
install.packages("devtools")
<EMAIL_ADDRESS>library(stateior)
But I keep getting this message

<EMAIL_ADDRESS>Error: Failed to install 'unknown package' from GitHub:
HTTP error 404.
No commit found for the ref v0.2.1
Did you spell the repo owner (USEPA) and repo name (stateior) correctly?

If spelling is correct, check that you have the required permissions to access the repo.

Spelling looks right, are there permissions required to access the package?
Thanks

We had an error in our text. The text following '@' should be a tag or commit hash. The tag is just '0.2.0'. I fixed this so give it another try.
Thanks for creating this issue.

and I would propose we drop the version number entirely on install to get the latest release:

devtools::install_github("USEPA/stateior")


feat(terraform): IRN VPC Peering

Description
Adds VPC peering to the IRN VPC
How Has This Been Tested?
Manually
Due Diligence

[ ] Breaking change
[ ] Requires a documentation update
[ ] Requires a e2e/integration test update

What are the CIDR ranges of the Blockchain API and IRN VPCs? Just curious how this fits together
Fortunately, fits fine. <IP_ADDRESS> here, <IP_ADDRESS> in relay


VSTS API Create BuildProcess

In the VSTS API documentation, at Build/Definition/Create the BuildProcess type is incomplete.
In the documentation it has only one property: type.
On calling POST https://xy.visualstudio.com/ab/_apis/build/definitions?api-version=4.1
The result is "The array must contain at least one element.\r\nParameter name: phases".
The phases and steps are undefined.
Thanks
Steffen

@abbgrade I've transfered this issue to the VSTS docs repo. Please track updates using this link - https://github.com/MicrosoftDocs/vsts-rest-api-specs/issues/78

@abbgrade I will close it as transferred.


is it possible to get embedding of last layer of network and add softmax to get a Classifier

hi @roodkcab, maybe you can create a classifier self.head2 = nn.Linear(self.C, classification_classes) and replace self.head(self.head_nm(h.float(), cond_BD).float()).float() with self.head2(self.head_nm(h.float(), cond_BD).float().mean(dim=1)).float() in models/var.py to get classification logits.

great! I'll have a look. really impressive work! thanks again.


RC Spot-Check Test: Greenhouse Effect 1.2.0-rc.2

RC Spot-Check Test
Mentions: @arouinfar, @kathy-phet, and @KatieWoe
Simulation links

github repository for issues
phet top-level directory
sim: all_phet.html
phet-io wrapper index
link to phet-io zip file

Test Matrices
General Test:

[x] Tester = NS, Platform = mac + safari , Time = 1hr
[x] Tester = KW, Platform = Win 11 Chrome and Firefox, Time = .5

PhET-iO Test:

[ ] Tester = , Platform = , Time =
[ ] Tester = , Platform = , Time =

Additional Features Test:

[ ] Tester = , Platform = , Time =
[ ] Tester = , Platform = , Time =

Features included

[x] PhET-iO
[x] Alternative Input
[x] UI Sound
[x] Sonification

Focus and Special Instructions
This is the 2nd RC test for the 1.2 release branch, and all issues from the first RC have been addressed.  The focus should be on verifying the listed issues and checking that no regressions have been introduced.

Issues to Verify
These issues should have the "status:ready-for-review" label. Unless an issue says to close after verifying, assign the
issue back to the developer.

[x] https://github.com/phetsims/greenhouse-effect/issues/355
[x] https://github.com/phetsims/greenhouse-effect/issues/356
[x] https://github.com/phetsims/greenhouse-effect/issues/357
[x] https://github.com/phetsims/greenhouse-effect/issues/359

For QA...

General features

What to Test

Click every single button.
Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.

If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Test some query parameters. (See QA Book for a
list of query parameters.)
When making an issue, check to see if it was in a previously published version.
Try to include version numbers for browsers.
If there is a console available, check for errors and include them in the Problem Description.
As an RC begins and ends, check the sim repo. If there is a maintenance issue, check it and notify developers if there
is a problem.
As the RC ends, notify the developer of any new QA credits that need to be added.

PhET-iO features

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.
Load the login wrapper just to make sure it works. Do so by adding this link from the sim deployed root:/wrappers/login/?wrapper=record&validationRule=validateDigits&&numberOfDigits=5&promptText=ENTER_A_5_DIGIT_NUMBER

Further instructions in QA Book
Conduct a recording test to Metacog, further instructions in the QA Book. Do this for iPadOS + Safari and one other
random platform.
Conduct a memory test on the stand alone sim wrapper (rc.1).
Test one platform combination with ?phetioDebug=true on the Studio and State wrapper.
If Pan/Zoom is supported, make sure that it works when set with PhET-iO State.
Test that the sim works offline:

Click the link to the phet-io zip file (at top of issue) to download the zip file.
Unzip it to a spot locally.
Open index.html by double clicking it on your desktop or in a Finder-view.
It should look like the standalone version of the sim in PhET-iO brand.

Accessibility features

What to Test

Specific instructions can be found above.

Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is
a list of features that may be supported in this test:

Alternative Input
Sound and Sonification
Pan and Zoom

Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.
Test all keyboard navigation inputs (if applicable).
Test all forms of input with a screen reader (if applicable).

If this sim is not in this list or up to date there, make an
issue in website to ask if PhET research page links need updating. Please
assign to @terracoda and @emily-phet.

Keyboard Navigation
This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a
screen reader.
Magnification
This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel
controls. Please test magnfication and make sure
it is working as intended and well with the use cases of the simulation. Due to the way screen readers handle user
input, magnification is NOT expected to
work while using a screen reader so there is no need to test this case.

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

Spot check done

Thanks QA team!  Since it looks like no new issues were logged, I'll likely check a few last things over and publish.  Closing.


python312Packages.ipwhois: 1.2.0 -> 1.3.0

Diff: https://github.com/secynic/ipwhois/compare/refs/tags/v1.2.0...v1.3.0
Changelog: https://github.com/secynic/ipwhois/blob/v1.3.0/CHANGES.rst

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

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

4 packages built:

python311Packages.ipwhois
python311Packages.ipwhois.dist
python312Packages.ipwhois
python312Packages.ipwhois.dist


add more shapes

There's an issue with the QR Code wrapper moving around.

Fixed it with 1ad6cf9, is there a better solution @raphaelsanchez ?
dev env : https://10.qrcode.yaoss-collection.com/


php 7.4 must be supported

Is your feature request related to a problem? Please describe.
When i'm using docker-compose with prestashop 1.7.8, the php version is 7.4
Describe the solution you'd like
Will be nice to support the new prestashop 1.7.8 with php 7.4 min

@theyough
Can you say us the command who don't work with php 7.4 ?
I try a lot or command and i don't find one ?

PS : Sorry for answer time

I just installed Prestashop <IP_ADDRESS> beta 1.
And fop_console 1.3.3
With php 7.4.20
Not on docker but I guess that doesn't change anything.
The command I tested are also ok.
Can you please tell us what is exactly the problem @theyough ?

maybe @theyough said that on the readme.md php 7.4 is not marked as supported...
Can you please take 15 seconds to provide feedback @theyough ?

Sorry guys, I don't have to test it again.
You can close the issue

Thank you for feedback @theyough i add the php 7.4 on the readme


Update storage_legacy.md

Updating the md file with the legacy SDK

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/storage_legacy.md
:white_check_mark:Succeeded
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Editor can be scrolled above the 1. line when the search box is shown

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

VS Code Version: 1.77.1
OS Version: Arch Linux

Steps to Reproduce:

Open the search box in an editor tab (Ctrl+F).
Scroll up the document with your mouse wheel.

Expected behaviour: Editor shoud be scrolled to the beginning of the document.
What actually happens: Editor is scrolled for the height of the search box above the first line.

/duplicate
Please see https://github.com/microsoft/vscode/issues/160848#issuecomment-1246001834

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


update sample readme.md

What issue does this PR address?
Does this PR introduce a breaking change?
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[x] Unit Tests for the changes have been added (for bug fixes / features)

Other information:

the readme document is still wrong

..and you never fixed your incorrect spelling. Do an update and I can merge.

sorry for the spell error.I fixed the spell in a new pr #3525


ra_lsp_server uses all available RAM when editing cargo-script script

I am unable to reproduce this bug, but I had vscode in background with cargo-script script opened, when I noticed I was slowly running out of RAM. I opened KSysGuard and noticed ra_lsp_server using 4.5GB and usage rising at about 50MB/s.
The scripts had .rs extension, there was no Cargo.toml anywhere. The script basically looked like this:
#!/usr/bin/env run-cargo-script
//! ```cargo
//! [package]
//! edition = "2018"
//!
//! [dependencies]
//! duct = "0.11"
//! ```
use duct::cmd;

fn main() {
    // some code using only stdlib functions
}

I don't know if this bug is related to cargo-script scripts, but if so, then ignoring shebang line will probably help.

In case it is not caused by cargo-script scripts, maybe a separate thread in ra_lsp_server could monitor its RAM usage and kill the server if it exceeds e.g. 1GB (this number should be based on monitored RAM usage on e.g. stdlib, ripgrep and some projects using gtk-rs). It's nicer to have the server stop itself than trying to kill it while fighting with HDD memory swapping later on.

I don't think we use the shebang for anything, so it shouldn't be an issue directly in run-cargo-script. I would postulate that this issue lies in our use of cargo metadata, given that there probably isn't a Cargo.toml in this directory. However that's just a guess, and looking at the code I don't see how that could happen.

In general, rust-analyzer is pretty ram-hungry at the moment: 1 GB is required to work with rust-analyzer itself, rust-lang/rust need 4 GBs. This is definitely excessive and something to tackle, it just hasn't been a priority yet. Will open issue describing memory usage challenges.

This specific case defenitelly looks like a bug though: opening a single file should not cause a huge memory usage. My guess is that we somehow process much more than a single file, perhaps the contents of ~/.cargo or something like this. I wouldn't have capacity to investigate this issue in the nearest future but, if someone wants to take a look,  here's how we deterine the "project directory" (which contains half of the stuff we want to index):
https://github.com/rust-analyzer/rust-analyzer/blob/5a866a772c863ba7e3ec8bad353c1b6997a7a62a/crates/ra_lsp_server/src/main.rs#L44-L47
And here's how we determine the set of dependent crates (other half to index):
https://github.com/rust-analyzer/rust-analyzer/blob/5a866a772c863ba7e3ec8bad353c1b6997a7a62a/crates/ra_lsp_server/src/main_loop.rs#L65-L74

Closing: I wasn't able to reproduce and we've significantly improved memory usage in the meantime.

Sadly, I ran into it again, this time sacrificing few minutes to take a screenshot (swapping is slow). It happened in "normal" multi-crate (cargo workspace) project (30KLOC, 220 dependencies). I was working for few hours, ra_lsp_server using about 1.6GB of RAM the whole time. Then, suddenly, it took all of it.
Alt+SysRq+R -> Alt+SysRq+F made the system unfreeze for few seconds as it killed web browser, but ra_lsp_server quickly (<10 seconds) took over newly freed gigabytes of memory. Repeating Alt+SysRq+F helped.
Version 990e74ba7c77485f914434ac6f09a40d1364634d
While the bug still happens out of nowhere, the I/O stats show that it is loading crazy amounts of files.
Right now I'm running this code in background as a workaround: watch -n 1 "ps aux --sort pmem | tail -1 | grep ra_lsp_server | cut -d' ' -f8 | awk '\$1>3000000' | awk '{system(\"pkill ra_lsp_server\")}'" (it kills ra_lsp_server if the usage goes over 3GB)


EX12.32 use of shared_ptr

Hi, in Ex.12.32 it asks you to use StrBlob instead of vector. I see you then use "shared_ptr< StrBlob > input" in the very literal sense of the question's aim but I think it is unnecessary to declare a shared pointer to a StrBlob. You could just use a StrBlob object without the need to address a shared pointer to it (i.e. "StrBlob input"). This is because StrBlob has an underlying shared pointer to a dynamically allocated vector.
Essentially StrBlob is just a shared_ptr< vector< string > >. Although its purpose is to interface like a container that dynamically allocates its elements, and shares rather than copies those elements when creating other StrBlob objects.
So I think anywhere you have put "shared_ptr< StrBlo b>" should be replaced with "StrBlob" and the functions that use the shared_ptr< StrBlob > changed accordingly.

Thank you for your advice, I will try to modify.

Thank you for your advice, but I didn't write the Ex. 12.32. Would you please look at what you said is which one file?

@AntiElephantMine Thx for your suggestion.


Failed to install 'golang.go' extension

Web Browser: Chrome 87.0.4280.141 (x86_64)
Local OS: macOS Catalina 10.15.7
Remote OS: CentOS Linux release 7.4.1708
Remote Architecture:x86_64
code-server --version:3.8.0

I used golang extension version 0.20.1 and it worked fine and I saw a dialog saying new version of golang extension released (0.20.2) so I tried to upgrade, but vscode says Failed to install 'golang.go'
I checked messages of code-server and it says
(node:1738) UnhandledPromiseRejectionWarning: validating: Unexpected end of data
    at A.downloadInstallableExtension (/home1/irteamsu/packages/code-server-3.8.0-linux-amd64/lib/vscode/out/vs/server/entry.js:523:159)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:1738) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 14)

And I can't upgrade the extension
Thanks in advance

I've installed<EMAIL_ADDRESS>from vsix file.

I've installed<EMAIL_ADDRESS>from vsix file.


D'n'D crashes with headingless scenes/parts

After removing the forced names for parts and scenes, drag'n'drop now crashes.

Start new file
Write something
Start new scene
Write something

Here we have two scenes and the first one stay without heading. Drag'n'dropping scenes lead to unwanted behaviour and also to crashes.
Investigations
The bug is most probably caused the missing heading element. With flat Slate buffer it was always impossible, because the heading itself acted as scene handle. With forced headings it was also impossible.
The DnD event comes here:
https://github.com/mkoskim/mawejs/blob/master/src/gui/editor/editor.js#L293
The code detects, what are dragged (part or scene, from body or notes) and where. It cuts the particular element with elemPop() and inserts it to new place with elemPush(). See the code here:
https://github.com/mkoskim/mawejs/blob/master/src/gui/editor/editor.js#L321
My quick guess for fix is:

Check that popped element has heading element (at index 0). If not, insert one.
Check that the element which will be preceded by pushed element has heading element at index 0. If not, insert one before pushing.

This is probably fixed with this commit: https://github.com/mkoskim/mawejs/commit/032e1d8ba7893abb346bb63ee5186712329c0ed0
If not, reopening the issue.


How to change default arrangment in preview page?

Now the way it sorts videos ascendly by default in the preview page. We can change it to descending manually. But every time the system reboot will change it back to ascending.
How do I make it sorting videos descendly by default?

The filter type and sort arrangements are persisted in cookies so that they are tied to the browser client.
These should not be affected by reboots etc of the Pi and a quick test on one of my systems showed that the sort order is kept after a reboot.
Check that you are allowing cookies.

The filter type and sort arrangements are persisted in cookies so that they are tied to the browser client.
These should not be affected by reboots etc of the Pi and a quick test on one of my systems showed that the sort order is kept after a reboot.
Check that you are allowing cookies.

Thanks a lot. It is my cookies setting mess this thing up.


upgrades to webpack@5 and enforces nodejs >= 18

Describe what your pull request addresses
See #121
Upgrades to use webpack@5 and enforces the use of nodejs 18

@unfoldingWord/devs does anyone know how the CI for netlify is setup? I need to change its dev process to use Node 18 instead of Node 16


Jupyter notebooks deleting cells when saved

Issue Type: Bug
This has happened 3 times now. I've either clicked save from the menu or used the keyboard shortcut to save a jupyter notebook and it reverts back to an older state of the file somehow. I opened a new notebook and replicated the issue. This is connected to a linux machine (from windows) through remote SSH. It happens transiently but frequently!
Extension version: 2021.3.619093157
VS Code version: Code 1.54.1 (f30a9b73e8ffc278e71575118b6bf568f04587c8, 2021-03-04T22:38:31.419Z)
OS version: Windows_NT x64 10.0.19041
Remote OS version: Linux x64 3.10.0-1062.18.1.el7.x86_64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.82GB (1.67GB free)

Process Argv
--crash-reporter-id e07a59f2-521a-4ce2-a228-0a2c780d3879

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: aparente-t7820

OS
Linux x64 3.10.0-1062.18.1.el7.x86_64

CPUs
Intel(R) Xeon(R) Gold 6136 CPU @ 3.00GHz (48 x 1200)

Memory (System)
125.35GB (51.06GB free)

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt875:30259475
dockersubset:30270708
pythontbcf:30265426
vspre833cf:30267465

It looks like I can recover it when closing the current open window and going to the file in the github tab to reopen it, but not from the explorer tab. It's not consistent either, in that i reopened it once successfully but then it went back to the reverted version again.

@aparente-nurix, can you give us a screenshot of your notebook? Just the cell UI we don't need your python code specifically.

cc: @microsoft/datascience-vsc-team-reviewers

Thanks for responding @greazer. Hopefully this can get resolved soon, the new notebook features in VScode insiders are really nice!

This sounds like a VS code issue (they control saving).
See this issue here:
https://github.com/microsoft/vscode/issues/118592

Closing this issue in favor of the upstream VS Code issue.