fix image not downloading in offline mode

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/31442
PROPOSAL: https://github.com/Expensify/App/issues/31442#issuecomment-1814485575
Tests
Same as QA

[x] Verify that no errors appear in the JS console

Offline tests
Same as QA
QA Steps

Enable offline mode.
Click on the FAB button
Click on 'Request Money'
Choose 'Scan' and add a receipt
Choose a workspace
Save money request
Open the IOU details view
Click on the receipt > 3 dot menu > Download
Verify that file is downloaded successfully

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/97676131/71289f3d-00fb-4984-a3c7-a8e7d6b5667d

Android: mWeb Chrome
https://github.com/Expensify/App/assets/97676131/911c473d-04a4-4764-9ca2-36f659b758f9

iOS: Native
https://github.com/Expensify/App/assets/97676131/62401a76-f54e-4812-a5de-cae102520f53

iOS: mWeb Safari
https://github.com/Expensify/App/assets/97676131/497f0f1b-8bc5-4b22-9c1b-93348fda1a90

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/97676131/a9febb5a-8750-41e3-8dab-5ce6882e46d0

MacOS: Desktop
https://github.com/Expensify/App/assets/96077027/0cb4cbd2-8da0-4bdc-a1be-da501393f095

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.1-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


issue with symbolic link

I am excited about this plugin as it allow me to specify the config src, and hence migrating from load-grunt-config plugin. so, my idea is to keep all the common grunt task conf in a shared folder and use whatever needed. But, met with an issue. I keep the conf in a folder and make a symbolic link to each project. But, that throws a long recursive error (I removed most of it). It works fine, if I copy these conf files into the project. so something wrong if it follows a symbolic link. The behavior and error is same if src is pointing to a folder without any file in it. Using latest version on a mac.
thanks again for this project. Also, your effort on the excellent documentation.
bsr.
 grunt watch
Loading "Gruntfile.js" tasks...ERROR
>> Error: Cannot find module 'jshint-stylish'

Running "watch" task
Waiting...Verifying property watch exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch" missing.

Running "watch" task
Waiting...Verifying property watch exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch" missing.

Running "watch" task
Waiting...Verifying property watch exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch" missing.

Running "watch" task
Waiting...Verifying property watch exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch" missing.

Running "watch" task
Waiting...Verifying property watch exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch" missing.

......

Running "watch" task
Waiting...Verifying property watch exists in config...ERROR
>> Unable to process task.
Warning: Required config property "watch" missing.

(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

.....

(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

util.js:35
  var str = String(f).replace(formatRegExp, function(x) {
                      ^
RangeError: Maximum call stack size exceeded

@creynders: Thank you for pointing this out!
Your suggestion helped me developing my own solution, as I have been unable to make yours working for me ...
Below is how I solved the above mentioned error
"Local Npm module 'jshint-stylish' not found. Is it installed?"
// gruntfile.js
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
config: grunt.file.readJSON('grunt-config.json'),
jshint_reporter: require('jshint-stylish')
});
// grunt-config.json
{
"jsHintFiles" : [
"**/modules/*.js"
]
}
// jshint.js
module.exports = function(grunt) {
"use strict";
grunt.config.merge({"jshint": {
    "default": {
        options: {
            reporter: "<%= jshint_reporter %>"
        },
        target: ["<%= config.jsHintFiles %>"]
    }
}});

};
hope this of any help :)


Update olapR to be downloaded to R v4.0.0<

I believe there is an error with the olapR package.  I have downloaded the R client server (which uses R 3.5.2, which is 3 years old now), but am not able to update to a newer version of R along with this package.
When I try copying olapR to a newer version of R, I get this error:
Error: package or namespace load failed for ‘olapR’:
 package ‘olapR’ was installed before R 4.0.0: please re-install it

Can you publish the source code or some way to export olapR to a newer version of R?  This is an amazing package that I use all the time, but I can't use it for newer R versions.
Any help would be amazing.  I pretty much have to pigeonhole everything around R 3.5.2 which is difficult as CRAN has added many new packages since.
-Josh

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

ID: 26201bed-23ed-ca75-68ca-43bde59db8ac
Version Independent ID: 820c8276-d972-9fbe-7f88-7bb80acc93ed
Content: Using data from OLAP cubes in R - SQL Server Machine Learning Services
Content Source: docs/machine-learning/r/using-data-from-olap-cubes-in-r.md
Product: sql
Technology: machine-learning-services
GitHub Login: @garyericson
Microsoft Alias: garye

@J-SCHILL -- Joshua, thank you for your feedback.  This repo is solely for documentation issues, and this seems to be product-related.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

You are welcome to add your request here:

SQL Server feedback

I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.
@garyericson for awareness


Pluralize table names

Hi, thanks for making this handy utility! I'm working on something connecting to an existing postgres db with Prisma, and the convention used is plural table names. So what I'd like is an option to pluralize table names, so that the following prisma schema
model User {
  id @id @default(autoincrement())
}

is converted to
model User {
  id @id @default(autoincrement())

  @@map("users")
}

instead of the existing behavior
model User {
  id @id @default(autoincrement())

  @@map("user")
}

Is this possible? Thanks again!

Hey @maxfurman, glad you found it helpful. I totally get where you're coming from, somebody made the table plural, that's weird, you want it to be singular. Probably doable, can it wait til the weekend?

Thanks for the quick response, @iiian . I think there's a misunderstanding, I want the table names to be plural, so that the sql looks like select * from users;. So in combination with --map-table-case snake, a prisma model ShoppingCart gets @@map("shopping_carts")

Thanks for the quick response, @iiian . I think there's a misunderstanding, I want the table names to be plural, so that the sql looks like select * from users;. So in combination with --map-table-case snake, a prisma model ShoppingCart gets @@map("shopping_carts")

Whoop, nope I simply miscommunicated. Meant to say somebody named the table plurally, you want to reference it singularly in code, like sane people.

Proposed interface: I'm thinking about --map-table-case=snake,plural as the interface for supporting this, where plural is a new optional argument to signal that database targets should be pluralized. Alternatively, if you're in a scenario where you need to surgically target only a number of databases for renaming, the argument input could be extended to declare tablewise overrides to the rule:
--map-table-case=snake|User:users|Group:pigeons
where User:users specifies that model User shall have @@map("users") and Group:pigeons specifies that model Group shall have @@map("pigeons"). The | in between shall be separators for mapping override instances.
If you don't need the latter extension for tablewise overrides, I'll just add the --map-table-case=snake,plural flavor for now.

v1.5.0 has been released and should address this issue.

Is it possible to go from plural to singular on the field case? For example:
model Users {
  id @id @default(autoincrement())

  @@map("users")
}

to
model User {
  id @id @default(autoincrement())

  @@map("users")
}

Is it possible to go from plural to singular on the field case? For example:
model Users {
  id @id @default(autoincrement())

  @@map("users")
}

to
model User {
  id @id @default(autoincrement())

  @@map("users")
}

@ebramanti that's a fair request. I've updated w/ v1.6.0 s.t. you can do
prisma-case-format --table-case=pascal,singular

Which will have the effect of performing the specified transformation.


update

Hello @gwenchee! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file d3ploy/DO_solvers.py:

Line 2:80: E501 line too long (82 > 79 characters)

In the file d3ploy/ML_solvers.py:

Line 20:5: E722 do not use bare 'except'

In the file d3ploy/NO_solvers.py:

Line 4:33: W291 trailing whitespace
Line 77:5: E722 do not use bare 'except'

In the file d3ploy/demand_driven_deployment_inst.py:

Line 81:80: E501 line too long (85 > 79 characters)
Line 87:80: E501 line too long (86 > 79 characters)
Line 88:80: E501 line too long (82 > 79 characters)
Line 94:80: E501 line too long (91 > 79 characters)
Line 95:80: E501 line too long (89 > 79 characters)
Line 97:80: E501 line too long (84 > 79 characters)
Line 117:80: E501 line too long (80 > 79 characters)
Line 241:80: E501 line too long (108 > 79 characters)
Line 242:80: E501 line too long (84 > 79 characters)
Line 253:80: E501 line too long (83 > 79 characters)
Line 269:80: E501 line too long (88 > 79 characters)
Line 295:80: E501 line too long (82 > 79 characters)
Line 297:80: E501 line too long (80 > 79 characters)
Line 299:80: E501 line too long (82 > 79 characters)
Line 300:80: E501 line too long (82 > 79 characters)
Line 317:80: E501 line too long (86 > 79 characters)
Line 319:80: E501 line too long (84 > 79 characters)
Line 320:80: E501 line too long (83 > 79 characters)
Line 321:80: E501 line too long (86 > 79 characters)
Line 322:80: E501 line too long (86 > 79 characters)
Line 323:80: E501 line too long (83 > 79 characters)

In the file d3ploy/demand_fac.py:

Line 24:80: E501 line too long (80 > 79 characters)

In the file d3ploy/deterministic_inst.py:

Line 17:1: E302 expected 2 blank lines, found 1
Line 24:80: E501 line too long (85 > 79 characters)
Line 38:80: E501 line too long (85 > 79 characters)
Line 46:5: E303 too many blank lines (2)
Line 51:1: W293 blank line contains whitespace
Line 53:31: W291 trailing whitespace
Line 78:18: E225 missing whitespace around operator
Line 78:21: W291 trailing whitespace
Line 85:80: E501 line too long (80 > 79 characters)
Line 87:8: W291 trailing whitespace

In the file d3ploy/plotter.py:

Line 51:80: E501 line too long (80 > 79 characters)
Line 93:80: E501 line too long (80 > 79 characters)
Line 138:80: E501 line too long (84 > 79 characters)
Line 151:80: E501 line too long (81 > 79 characters)

In the file d3ploy/solver.py:

Line 83:80: E501 line too long (82 > 79 characters)

In the file d3ploy/supply_driven_deployment_inst.py:

Line 96:80: E501 line too long (84 > 79 characters)
Line 230:80: E501 line too long (108 > 79 characters)
Line 231:80: E501 line too long (86 > 79 characters)
Line 242:80: E501 line too long (83 > 79 characters)
Line 258:80: E501 line too long (90 > 79 characters)
Line 284:80: E501 line too long (86 > 79 characters)
Line 286:80: E501 line too long (84 > 79 characters)
Line 287:80: E501 line too long (81 > 79 characters)
Line 288:80: E501 line too long (82 > 79 characters)
Line 289:80: E501 line too long (86 > 79 characters)
Line 290:80: E501 line too long (81 > 79 characters)
Line 302:80: E501 line too long (82 > 79 characters)
Line 304:80: E501 line too long (82 > 79 characters)
Line 306:80: E501 line too long (82 > 79 characters)
Line 307:80: E501 line too long (82 > 79 characters)

In the file d3ploy/tester.py:

Line 301:9: E265 block comment should start with '# '
Line 302:9: E265 block comment should start with '# '
Line 305:5: E265 block comment should start with '# '
Line 306:5: E265 block comment should start with '# '
Line 308:80: E501 line too long (91 > 79 characters)
Line 327:80: E501 line too long (84 > 79 characters)

In the file tests/integration_tests/back_deployment_test.py:

Line 35:80: E501 line too long (84 > 79 characters)

In the file tests/integration_tests/conftest.py:

Line 15:1: E302 expected 2 blank lines, found 1
Line 17:58: W291 trailing whitespace

In the file tests/integration_tests/constraint_test.py:

Line 2:11: W291 trailing whitespace
Line 34:80: E501 line too long (89 > 79 characters)
Line 40:80: E501 line too long (88 > 79 characters)

In the file tests/integration_tests/continuous_integration_test.py:

Line 36:80: E501 line too long (105 > 79 characters)
Line 39:80: E501 line too long (82 > 79 characters)
Line 43:80: E501 line too long (108 > 79 characters)
Line 48:80: E501 line too long (101 > 79 characters)
Line 73:80: E501 line too long (98 > 79 characters)
Line 78:80: E501 line too long (92 > 79 characters)
Line 89:80: E501 line too long (80 > 79 characters)
Line 96:80: E501 line too long (81 > 79 characters)

In the file tests/integration_tests/tech_pref_test.py:

Line 45:80: E501 line too long (84 > 79 characters)
Line 106:80: E501 line too long (81 > 79 characters)
Line 110:80: E501 line too long (80 > 79 characters)
Line 168:80: E501 line too long (81 > 79 characters)
Line 227:80: E501 line too long (81 > 79 characters)

In the file tests/performance_tests/algorithm_performance_tests.py:

Line 8:80: E501 line too long (93 > 79 characters)
Line 41:1: E266 too many leading '#' for block comment
Line 53:80: E501 line too long (105 > 79 characters)
Line 61:80: E501 line too long (94 > 79 characters)
Line 66:80: E501 line too long (88 > 79 characters)
Line 71:1: E265 block comment should start with '# '
Line 169:1: E265 block comment should start with '# '
Line 294:1: E265 block comment should start with '# '
Line 418:1: E265 block comment should start with '# '

In the file tests/performance_tests/algorithm_performance_tests_backdeployment.py:

Line 8:80: E501 line too long (93 > 79 characters)
Line 40:1: E266 too many leading '#' for block comment
Line 53:80: E501 line too long (102 > 79 characters)
Line 65:80: E501 line too long (94 > 79 characters)
Line 70:80: E501 line too long (88 > 79 characters)
Line 75:1: E265 block comment should start with '# '
Line 85:80: E501 line too long (94 > 79 characters)
Line 90:80: E501 line too long (92 > 79 characters)
Line 115:80: E501 line too long (90 > 79 characters)
Line 120:80: E501 line too long (84 > 79 characters)
Line 257:1: E265 block comment should start with '# '
Line 268:80: E501 line too long (94 > 79 characters)
Line 273:80: E501 line too long (96 > 79 characters)

In the file tests/performance_tests/algorithm_performance_tests_closedfuelcycle.py:

Line 8:80: E501 line too long (93 > 79 characters)
Line 40:1: E266 too many leading '#' for block comment
Line 44:1: E265 block comment should start with '# '
Line 60:80: E501 line too long (106 > 79 characters)
Line 67:80: E501 line too long (82 > 79 characters)
Line 92:80: E501 line too long (121 > 79 characters)
Line 96:80: E501 line too long (120 > 79 characters)
Line 113:80: E501 line too long (95 > 79 characters)
Line 114:80: E501 line too long (94 > 79 characters)
Line 117:80: E501 line too long (90 > 79 characters)
Line 122:80: E501 line too long (94 > 79 characters)
Line 123:80: E501 line too long (93 > 79 characters)
Line 126:80: E501 line too long (90 > 79 characters)
Line 184:80: E501 line too long (121 > 79 characters)
Line 188:80: E501 line too long (120 > 79 characters)
Line 200:80: E501 line too long (92 > 79 characters)
Line 211:80: E501 line too long (94 > 79 characters)
Line 216:80: E501 line too long (94 > 79 characters)
Line 228:80: E501 line too long (84 > 79 characters)
Line 229:80: E501 line too long (84 > 79 characters)
Line 230:80: E501 line too long (88 > 79 characters)
Line 235:80: E501 line too long (84 > 79 characters)
Line 236:80: E501 line too long (84 > 79 characters)
Line 237:80: E501 line too long (81 > 79 characters)
Line 242:80: E501 line too long (80 > 79 characters)
Line 248:80: E501 line too long (99 > 79 characters)
Line 253:80: E501 line too long (89 > 79 characters)
Line 271:80: E501 line too long (97 > 79 characters)
Line 272:80: E501 line too long (90 > 79 characters)
Line 273:80: E501 line too long (96 > 79 characters)
Line 278:80: E501 line too long (88 > 79 characters)
Line 279:80: E501 line too long (81 > 79 characters)
Line 280:80: E501 line too long (87 > 79 characters)

In the file tests/performance_tests/algorithm_performance_tests_transitionscenario.py:

Line 8:80: E501 line too long (93 > 79 characters)
Line 40:1: E265 block comment should start with '# '


Can't Use Signs

Hello, Maybe you guys can help me.
When I try to use a sign I made with essentials, i can only use them as a server OP. Nobody can use them even as owner with all-perms. The only way I can use the signs is if i'm op'ed from the server cmd. Even when i give myself in-game all-perms. as my personal account, warp signs wont help. I even went through the config. files and checked everything to the best of my ability. Please help. Here are some picture for you to see the perms. of all groups.

On top of all that, I can't break blocks as owner group only if, again, i'm the server op from the server cmd. (no point in using pictures for this one.)
Also, this server is open to the public but only for certain people who know the ip.

for starters you can remove the * from your perm nodes. not needed. just use the base node: essentials

@ktole1999  I'm assuming you're referring to the owner permissions?

Any perm.* reference should be changed
Sent via the Samsung Galaxy S® 6, an AT&T 4G LTE smartphone
-------- Original message --------
From: ShadowAngel25<EMAIL_ADDRESS>Date: 2/27/19 8:34 AM (GMT-06:00)
To: lucko/LuckPerms<EMAIL_ADDRESS>Cc: Bebo<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lucko/LuckPerms] Can't Use Signs (#1443)
@ktole1999https://github.com/ktole1999 I'm assuming you're referring to the owner permissions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lucko/LuckPerms/issues/1443#issuecomment-467884409, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEN1lygadyEZgCB5MAzbtvL2YD3vtxkeks5vRpeEgaJpZM4bTsfU.

@ktole1999 incorrect. That only works on Sponge.
And in regards to your problem @ShadowAngel25 I'd highly recommend you debug your permission issues with Verbose.
Also please keep in mind that LuckPerms is not responsible for the actual permission nodes. When you're having issues with plugin's permissions, ask for help on their support places.

Hello, Maybe you guys can help me.
When I try to use a sign I made with essentials, i can only use them as a server OP. Nobody can use them even as owner with all-perms. The only way I can use the signs is if i'm op'ed from the server cmd. Even when i give myself in-game all-perms. as my personal account, warp signs wont help. I even went through the config. files and checked everything to the best of my ability. Please help. Here are some picture for you to see the perms. of all groups.

On top of all that, I can't break blocks as owner group only if, again, i'm the server op from the server cmd. (no point in using pictures for this one.)
Also, this server is open to the public but only for certain people who know the ip.

What server environment are you using?

Essentials pretty much always means Spigot/Bukkit

Hello, Maybe you guys can help me.
When I try to use a sign I made with essentials, i can only use them as a server OP. Nobody can use them even as owner with all-perms. The only way I can use the signs is if i'm op'ed from the server cmd. Even when i give myself in-game all-perms. as my personal account, warp signs wont help. I even went through the config. files and checked everything to the best of my ability. Please help. Here are some picture for you to see the perms. of all groups.

On top of all that, I can't break blocks as owner group only if, again, i'm the server op from the server cmd. (no point in using pictures for this one.)
Also, this server is open to the public but only for certain people who know the ip.

What server environment are you using?

Paper if that's what you're asking. But somehow when i was messing around with everything i could use the signs and so could my friend who was a test dummy. but they could only use them ONCE then they wouldn't work anymore. So like a one time use. So now i have to look into that but not sure where. But thanks for the help guys.

As I said, check out Verbose https://github.com/lucko/LuckPerms/wiki/Verbose

As I said, check out Verbose https://github.com/lucko/LuckPerms/wiki/Verbose

I'm sorry, but i have no idea how to debug this stuff with verbose so idk what youre talking about. I looked at verbose but i don't understand it.  I know that commands are fine because I can use the signs as owner with the essentials.* node. So i'll just talk to the developers support about this.

Just use /lp verbose on <your IGN> and use the signs, to see what permissions are checked.
You can then disable verbose again after that with /lp verbose off
LPs verbose can return permissions with three values:

true The user has permission to use the command/function.
false The user has the permission, but it is denied.
undefined The permission isn't set for either the user and/or the group.


Parameter fps for start_video_recording has no effect

I have recorded a video with start_video_recording and handed in different values for fps.
However, this did not have any effect, the frame rate of the video was always variable, around 20, although the parameter had a value of e.g. 3 fps.

Hi, yes fps is variable and its a cool feature, not a bug. Your PC draws smth at variable framerate and recorded video should match this behavior.
Otherwise for example if you set fps to 30 but your PC rendered at 35(average) timing in video will not match real time

in video header there is FPS value which you specify also each frame in video has its own time start and time stop, and this time is calculated based on real time between captured frames and doesnt depend on FPS(its correct because of comment above).
I am not sure but I think its up to video player to choose between FPS value in header and real timing per frame and most of them play video based on real time per frame


Create backend connection pooling

Currently there is no backend connection pooling. Renegotiating TLS handshake for every request is very expensive. This overhead can be remediated by connection pooling

End vvsgesen poolnees expired connection-g mash ewteixneer salgaj gargamaar bgaa


Upgrade dafafusion to 43.0.0

Looks like a couple of tests are still failing - I'll merge this once those are cleaned up.

@phillipleblanc It's unusual that I can't reproduce the failure of the test test_duckdb_connection_pool_with_attached_databases on my laptop. Is there anything I missed?

@phillipleblanc  This test case test_duckdb_connection_pool_with_attached_databases is very flaky; it may crash randomly and is not related to this PR. I don't know how to fix it.

@phillipleblanc This test case test_duckdb_connection_pool_with_attached_databases is very flaky; it may crash randomly and is not related to this PR. I don't know how to fix it.

Yeah, I think we should remove it then.

@holicc I've merged this PR since the test is flaky. Thanks for working on this! If you'd like to submit a PR for removing that flaky test, I'll merge it as well.


fix(docs): update path to allow direct loading of the tags doc page

When running localhost / dev webpack, the tags route cannot be navigated to directly (or reloaded). This is because I missed a reference when updating labels to tags. This PR fixes that.

Coverage remained the same at 100.0% when pulling e2ab30382ba0e2fc1b225d23cd0edbf23d994c71 on TheSharpieOne:bugfix/label-tag-server-path into 257f3782276a5ade77590c3a1c99edeaf8d31d5c on reactstrap:master.

Thanks! Phantomjs seems flakey. Saw the test pass across v6. Maybe moving to chrome headless could make this more predictable.


Can't set multiple cookies with res.cookie

Problem with res.cookie
I am trying to set multiple cookies with res.cookie.
(Only the last one saved)
My code:
const cookieParser = require('@tinyhttp/cookie-parser').cookieParser;
const TinyApp = require('@tinyhttp/app').App;
const app = new TinyApp();

const parse = cookieParser(CookieSecret);
const cookieTime = 1000 * 60 * 60 * 24 * 3;

app.get("/SetInfo", async (req, res) => {
    if(req.query.cookies){
        await new Promise(next => parse(req, res, next));
        res.cookie("name", 1, { httpOnly: true, signed: true, maxAge: cookieTime });
        res.cookie("pass", 1, { httpOnly: true, signed: true, maxAge: cookieTime });

        console.log(req.signedCookies);
        // {pass: 1}
    }
    res.send('ok');
    res.end();
})

app.listen(8080);

I tried @tinyhttp/cookie-parser and cookie-parser, but the same results.
Versions

node: 12.19.0
@tinyhttp/app: 1.1.5
@tinyhttp/cookie-parser: 1.1.6

Does someone know what may be the problem?

I'm not sure why use await parse here when @tinyhttp/cookie-parser has a completely different API
the correct way to use it is:
import { cookieParser } from '@tinyhttp/cookie-parser'
import { App } from '@tinyhttp/app'

const app = new App()
app.use(cookieParser('SECRET'))

I'm not sure why use await parse here when @tinyhttp/cookie-parser has a completely different API
the correct way to use it is:
import { cookieParser } from '@tinyhttp/cookie-parser'
import { App } from '@tinyhttp/app'

const app = new App()
app.use(cookieParser('SECRET'))

I am trying to prase the cookies just if specific data is sent with the page. Is there a better way to do it?
(I do it so I can speed up my server as fast as possible)

I am trying to prase the cookies just if specific data is sent with the page. Is there a better way to do it?
(I do it so I can speed up my server as fast as possible)

@I-dodo I'm not sure what you mean but in order to use cookieParser do this:
import { App } from '@tinyhttp/app'
import { cookieParser } from '@tinyhttp/cookie-parser'

new App()
  .use(cookieParser())
  .get('/', (req, res) => {
    if (req.headers.cookie) {
    // Cookies that have not been signed
    console.log('Cookies: ', req.cookies)

    // Cookies that have been signed
    console.log('Signed Cookies: ', req.signedCookies)
    }
  })
  .listen(3000)

// curl command that sends an HTTP request with two cookies
// curl http://localhost:3000 --cookie "Cho=Kim;Greet=Hello"

@I-dodo I'm not sure what you mean but in order to use cookieParser do this:
import { App } from '@tinyhttp/app'
import { cookieParser } from '@tinyhttp/cookie-parser'

new App()
  .use(cookieParser())
  .get('/', (req, res) => {
    if (req.headers.cookie) {
    // Cookies that have not been signed
    console.log('Cookies: ', req.cookies)

    // Cookies that have been signed
    console.log('Signed Cookies: ', req.signedCookies)
    }
  })
  .listen(3000)

// curl command that sends an HTTP request with two cookies
// curl http://localhost:3000 --cookie "Cho=Kim;Greet=Hello"

I try to explain myself in another way:
I am trying to parse, use and set new cookies, only if the client sends specific data.
I do it because most of the URLs in the server do not use cookies and it pointless to do it to every URL the server gets (It burden).
I already do it with the session and it works very well and increases the server speed in 10-15 milliseconds.
I hope it possible to do it with the cookies too.
+I didn't think that the problem was the way I used the @tinyhttp/cookie-parser. If there isn't a fast solution, it not critical.
Thank anyway :)

I try to explain myself in another way:
I am trying to parse, use and set new cookies, only if the client sends specific data.
I do it because most of the URLs in the server do not use cookies and it pointless to do it to every URL the server gets (It burden).
I already do it with the session and it works very well and increases the server speed in 10-15 milliseconds.
I hope it possible to do it with the cookies too.
+I didn't think that the problem was the way I used the @tinyhttp/cookie-parser. If there isn't a fast solution, it not critical.
Thank anyway :)

@I-dodo ohhh now it's clear
then I recommend using @tinyhttp/unless to set cookieParser(...) only for specific middleware:
import { App } from '@tinyhttp/app'
import { unless } from '@tinyhttp/unless'
import { cookieParser } from '@tinyhttp/cookie-parser'

const app = new App()

app.use(unless(cookieParser(),  { (req) => req.query.someProp === 'someValue'  })).listen(3000)

as for setting cookies, multiple res.cookie calls will override the Set-Cookie header. And it's surely a bug. Will work on it now.
thanks for reporting :D

@I-dodo ohhh now it's clear
then I recommend using @tinyhttp/unless to set cookieParser(...) only for specific middleware:
import { App } from '@tinyhttp/app'
import { unless } from '@tinyhttp/unless'
import { cookieParser } from '@tinyhttp/cookie-parser'

const app = new App()

app.use(unless(cookieParser(),  { (req) => req.query.someProp === 'someValue'  })).listen(3000)

as for setting cookies, multiple res.cookie calls will override the Set-Cookie header. And it's surely a bug. Will work on it now.
thanks for reporting :D

Greate, thanks for the help.
BTW I adore this framework. The speed it Amazing! (～￣▽￣)～

Greate, thanks for the help.
BTW I adore this framework. The speed it Amazing! (～￣▽￣)～

Ok i think this is fixed, at least tests pass.
to install:
pnpm i<EMAIL_ADDRESS>

Ok i think this is fixed, at least tests pass.
to install:
pnpm i<EMAIL_ADDRESS>

@I-dodo ok I fixed the broken release, should be working now.
also could you please explain why do you use CommonJS instead of import / export with tinyhttp? ESM is fully supported in tinyhttp but I noticed that some folks keep using cjs... Is it a personal pref?

@I-dodo ok I fixed the broken release, should be working now.
also could you please explain why do you use CommonJS instead of import / export with tinyhttp? ESM is fully supported in tinyhttp but I noticed that some folks keep using cjs... Is it a personal pref?


Authentication using SharedKeyCredential throws an error when correct username and wrong secret key is given but getting stuck when wrong account name is given

Ported from https://github.com/Azure/azure-sdk-for-go/issues/4167
**credential, err := azblob.NewSharedKeyCredential(accountName, accountKey)**

Error is thrown when wrong account key is given but when the account Name is wrong there is no error thrown but the program eventually times out.

Hi @jhendrixMSFT, thanks for letting us know!
This is a known issue. Basically, if the account name is wrong, a DNS error is returned. We retry this type of error, since it might be temporary as well. We don't have a better solution right now, but we are open to suggestions!

@PreethamTK who opened the original issue.

Is there any better way to check credentials then ?

Hi @PreethamTK, what do you mean?
If an account doesn't exist, we get a DNS error, which is the exact same error if the DNS server was misbehaving, so we couldn't really tell whether an account is really non-existent. On the other hand, if an account key is wrong, we know for sure since a 403 is returned from the service.

@PreethamTK I'm closing this for now, but please let me know if you have any other question.


Face recognition is ON but shows undefined ( android).

I'm checking the available object :
  this._fingerPrintService.isFingerPrintAvilable().then(f=>console.log(JSON.stringify(f)));

Where the service is actually :
    isFingerPrintAvilable(): Promise<BiometricIDAvailableResult>
    {

        return this.fingerprintAuth.available().then((result: BiometricIDAvailableResult) =>
                                                    {
                                                        console.log(`Biometric ID available? ${result.any}`);
                                                        console.log(`Touch? ${result.touch}`);
                                                        console.log(`Face? ${result.face}`);
                                                        return result;
                                                    });
    }

Result :
JS: Biometric ID available? true
JS: Touch? true
JS: Face? **undefined**

Why is that ?
As you can see - I do have facere cognition on:

But all it shows me is this menu :

Question
Why doesn't it allow me to be recognized via face ?
(it does recognize me via fingerprint & pattern) - I have galaxy s8+
BTW - when I lock the phone it does show me that I can use face :

Because face detection has not yet been implemented in this plugin for Android.


Snackbar shows duplicate when shown on dialog

Steps to Reproduce

Create a default flutter app.
Migrate to null-safety (unless by default)
Create a button that shows a custom dialog
In that dialog, create another button that shows a snackbar.

Expected results:
The snackbar to appear only 1 copy of it instead of 2.
Actual results:
I see 2 snackbars when running to show snackbar only once.

Logs
flutter doctor -v result
[✓] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 10.0.19043.1052], locale en-US)
    • Flutter version 2.2.2 at C:\src\flutter
    • Framework revision d79295af24 (6 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\ziyad\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.4)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31205.134
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] VS Code (version 1.57.0)
    • VS Code at C:\Users\ziyad\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.23.0

[✓] Connected device (4 available)
    • SM G973F (mobile) • RF8M323WGZH • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows     • windows-x64    • Microsoft Windows [Version 10.0.19043.1052]
    • Chrome (web)      • chrome      • web-javascript • Google Chrome 91.0.4472.106
    • Edge (web)        • edge        • web-javascript • Microsoft Edge 91.0.864.48

! Doctor found issues in 1 category.

Do you have the minimum reproducible code?

@ZiyadF296
Please provide reproducible code sample that shows this issue.
Thanks.

The issue is resolved. That was an issue of mine.


Iframe inside an Iframe

We have an application in which our clients launch our container app into an iframe. This iframe (call it the 'orchestrator') then can launch a number of applications within it via another iframe (call it a 'product'). At the moment, it seems that getTargetWindow is having an issue with my setup.
What we want to do is set up a communication proxy between product iframe and orchestrator iframe. At the moment, i have unilateral communication from product to orchestrator, but i cant seem to get orchestrator to product figured out.
Product Iframe talking to orchestrator (works):
var proxy = Porthole.WindowProxy('orchestratordomain/proxy.html`, 'parent');
proxy.post(message);

Orchestrator Iframe talking to product (doesnt):
var proxy = Porthole.WindowProxy('productdomain/proxy.html`, 'productFrameName');
proxy.post(message);

When we get to getTargetWindow on line 384 for the scenario that doesnt work is targetWindowName thats being sent in is productFrameName that we do a parent.frames['productFrameName']; which is null since the parent.frames is essentially pointing to the http://clientapp.com location which doesnt have the productFrameName in it.
I updated the else if on line 381 to do || window[targetWindowName] which for my scenario DOES find 'productFrameName' but when i try and post a message to it, my event handlers are not firing.
So there could really be two different things going on here:

Porthole doesnt support iFrame communication inside of an iFrame
My event handlers are jacked up

Whats weird is that it works from the product up to the orchestrator, but not from the orchestrator down. Im fairly new to how porthole works but would love some help if at all possible.
Here is a link to my public dropbox that essentially lays out what im talking about. I added this to a webserver and it failed on the same place its failing on it for me.
https://www.dropbox.com/s/0lu4y01zsbegbjx/test.html?dl=0
Any help would be greatly appreciated, especially if this is not a viable solution for our application as we are currently in the prototyping phase.
Thanks,
Jake

@kobell i ended up ditching porthole and instead used https://github.com/secondstreet/talker.js/tree/master
I cant really recommend talker.js either to be honest and if i had to do it all over again, i would have just created my own postmessage wrapper.


Port autoware-perception-rviz-plugin

Port of autoware_perception_rviz_plugin to ROS2

@mitsudome-r thanks for the review, I've updated the namespaces and CMakeLists in the latest commit


Improve support for zero length structs and arrays in C2M

I've a C code generator that in some edge cases needs to emit empty structs or structs with zero length arrays, usually works fine on GCC/Clang/TCC, but on C2M I get errors, simple test case:
typedef struct {} Foo;
typedef struct {int data[0];} Boo;

void f(Foo foo, Boo b) {}

int main() {
    Boo b = {};
    f((Foo){}, b);
    return 0;
}

The above compiles fine in GCC/Clang/TCC without warnings or errors, while in C2M I get:
test.c:1:9: warning -- empty struct/union
test.c:7:9: syntax error on identifier (expected ';'):
test.c:7:9: syntax error on identifier (expected '<statement>'):
test.c:2:26: array size should be positive

Note: Using int data[0]; inside structs is no standard C, the correct would be int data[]; however in all compilers I've tried the latter is only allowed when the struct has other fields, thus using int data[0]; is intentional and supported by GCC/Clang.

Ok.  I can implement this extension.  I already did this for empty structures (there is a test for this).  So I can do this for arrays too.  Probably it will be done in a month.

Great! I want to emphases that the issue is not just zero length arrays, but compound literals for zero empty structs are not working too, trimmed test case:
typedef struct {} Foo;

void f(Foo foo) {}

int main() {
    f((Foo){});
    return 0;
}

test.c:1:9: warning -- empty struct/union
test.c:6:13: syntax error on } (expected '<statement>'):
test.c:6:14: syntax error on ) (expected '<statement>'):

I've just committed a patch fixing this issue: cd3bc78d9bd7fc7faabd1105508f6c3f1475b0a6

Thanks, it worked! It just generates warnings now but runs fine. Is there a way to disable warnings in C2M? Would be good if there was a -w flag to disable all warnings.


General Grievance: Watch mgh-patientgateway.com

General Grievance requests the watch of the watch_keyword mgh-patientgateway\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

mgh-patientgateway\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


remove flake marker on windows functional CWS tests

What does this PR do?
Now that those tests are in a much better state we can remove the flake marker. This PR also gives shared ownership of those files to agent-security.
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Support datatxt boards in browser environment

DataTXT boards already work in NodeJS; however, we are missing a few tweaks to get them to work in the browser as well.
This change also adds support for testing S3 and other boards using GET URL parameters for the environment variables, as in:
file:///Users/javierluraschi/RStudio/pinsjs/js/spec/test.html?AWS_BUCKET=bucket&AWS_KEY=key&AWS_SECRET=secret

Also, for S3, I had to enable CORS in the S3 bucket, not the best configuration but these rules enable this functionality in our test bucket:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <ExposeHeader>ETag</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


Dependency updates

Fix security vulnerabilities by upgrading packages

hotfix-v1.25

I think bumping browser-sync has caused errors when we've tried it before.

I just retested different commands from package.json. All looks good, I just update it from 2.27.10 => 2.27.11 So we should be good. Let's try to deploy if we won't be able I will revert


Badge not showing on mat-icon if using svgIcon

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Badge should be shown
What is the current behavior?
Badge is not shown
What are the steps to reproduce?
export class AppModule {
  constructor(
    private mdIconRegistry: MatIconRegistry,
    private sanitizer: DomSanitizer) {
    mdIconRegistry.addSvgIcon('bell',
      sanitizer.bypassSecurityTrustResourceUrl('./assets/svg/bell.svg'));
  }
}

in app.component.html
<mat-icon matBadge="15" matBadgeColor="primary" svgIcon="bell"></mat-icon>
you can see code on stackblitz.com, but here it svg icons imports do not word at all
https://stackblitz.com/edit/angular-material2-issue-hjcqj2?embed=1&file=app/app.module.ts
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
6.0.0

Any work around for this? I had custom badges but would like to use the official ones now

same problem here :(

I am working with Material 7.0.0 and I have the same problem, has this issue been fixed in later versions?


Is possible to optimize this script?

Is possible to optmize this script?

0.04 is not even bad.


Quick fix for removing _ when using a union case with not data

I recently fixed https://github.com/dotnet/fsharp/issues/13851

Fix https://github.com/dotnet/fsharp/pull/14055

type X = X

 let x: X = X

 let myVal =
     match x with
     | X _ -> ()

let myFunc(X x) = 5+5
 let myDiscardedArgFunc(X _)

This will not longer be valid and a new warning error will be reported : Pattern discard is not allowed for union case that takes no data.
Will Rider be affected by this change ?
Update : Im Rider user and I would love to contribute with some guidance to how to add a quick fix :)

Looks like this warning is now available on the EAP 8. and a code fix has been implemented in VS https://github.com/dotnet/fsharp/pull/14267. Will this also be added for Rider 2022.3 stable?

Update : Im Rider user and I would love to contribute with some guidance to how to add a quick fix :)

Great, let's have a chat on Slack? 🙂

Great, let's have a chat on Slack. ? 🙂

Sure


Don't treat source as a magic field name

Hi all! This is mostly just to open a discussion and share an opinion, but I'm happy to try implementing the change as well if people are onboard.
My current gripe is this:

Specifically the "optional if field name is source" part! I think this goes against the general expectation for most Rust code to explicitly (as opposed to implicitly) specify behavior, and has recently caused me a problem in the wild when dealing with the knuffel crate — specifically, this bit of code was causing me grief:

When that error was being pretty-printed by miette, it ended up duplicating the error messages!

You can see the error is printed once on the Error: line, then again on the line below. The reason for this is that miette, when printing errors, will also attempt to print any underlying source errors in a sort of stack-trace fashion beneath the main error. In this case, however, the #[error("{}", source)] indicates that author's original intention was likely to just make this DecodeError::Conversion variant a transparent wrapper of the underlying error source.
Not being acutely aware of this implicit thiserror behavior makes it easy to fall into traps where your public error type exports a .source() implementation that's unexpected, and even if you are aware of this behavior, you must rename all of your source fields that you don't want automatic derivations for, or abandon the #[derive(Error)] entirely for a manual impl.
Unfortunately, in the case of knuffel, this implicit behavior will force a breaking change (https://github.com/tailhook/knuffel/pull/33) since the source field is public and has been renamed to error to resolve the double-printing issue. As far as I'm aware, there is no way to unimplement .source() for any field named source within a #[derive(Error)]?
Overall, I think that this special treatment of fields named source sets a lot of traps for crate users, and can directly affect their public API — potentially requiring breaking API changes just to disable. Personally, I'd strongly prefer that this implicit behavior is removed and that only fields explicitly marked as #[source] derive .source() implementations. I think that makes this crate more predictable to use and brings us closer in-line with the Rust's more explicit programming style.
Ironically, removing this generator of breaking changes will, in itself, be a breaking change, but I believe this to be worth it in the long run.
Let me know what you think!

It looks like a couple of people at least agree with this change — I'll put this on my list and put together a PR soon!
If @dtolnay has any objections though, please let me know! It would move the version of this crate to 2.0.0, but, again, I think it's worth removing this trap / generator of breaking changes for the code that depends on this crate!

You can use a raw identifier r#source as the field name to take away the special meaning of source as a keyword. Downstream code will still be able to instantiate the data structure using source as the field name.
https://github.com/dtolnay/thiserror/blob/3d23842d35d654bf9be56291622824ade575d0d9/tests/test_source.rs#L69-L81


exclude/tag strings that are globally prevalent

want to be able to lookup from string to the number of times it's been seen in a representative dataset.
desirable fields:

global count
count among known malware
count among known goodware
section in file

### Tasks
- [ ] https://github.com/mandiant/flare-floss/issues/712
- [ ] https://github.com/mandiant/flare-floss/issues/713

We should start here on our existing database and use manual inspection to find common strings of file artifacts and libraries.

Like for all types we should support multiple databases containing GP data.


Gradle Build crashing with Gradle Build 3.2.1 and gradle-4.8-

I have added the ChatMessageView project as a separate module in my project and currently having the below issue on Gradle Build
Unable to find method 'org.gradle.api.internal.artifacts.ivyservice.projectmodule.DefaultProjectPublication.(Lorg/gradle/api/artifacts/ModuleVersionIdentifier;)V'.
Possible causes for this unexpected error include:Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

Can you give me a very simplified and lean gradle


Add meshing for Cone

Objective
The Cone primitive should support meshing.
Solution
Implement meshing for the Cone primitive. The default cone has a height of 1 and a base radius of 0.5, and is centered at the origin.
An issue with cone meshes is that the tip does not really have a normal that works, even with duplicated vertices. This PR uses only a single vertex for the tip, with a normal of zero; this results in an "invalid" normal that gets ignored by the fragment shader. This seems to be the only approach we have for perfectly smooth cones. For discussion on the topic, see #10298 and #5891.
Another thing to note is that the cone uses polar coordinates for the UVs:

This way, textures are applied as if looking at the cone from above:

I'm not sure what properties would contribute to increased self-shadowing specifically on the cone shape. Is some shadow code just not jiving well with the tip normal setup? Normals look fine.

Yeah, the cone has this weird shadow effect:

I noticed that when originally implementing this too. The weird thing is that normalizing here seems to fix it (in my previous testing at least):

I'm not sure what's causing this. I could add the normalization there to fix it, but it feels like a pretty arbitrary fix, and it'd be good to find the root cause.

Someone who understands mikktspace should take a look at this. I have tried and failed to determine the source of the artifacts. If we can't solve it any other way, I suspect adding more loops (or a small loop near the tip) will mitigate the issue.

For what it's worth, I don't have this problem in Noumenal, either the released version (based on Bevy 0.8) or the development version (based on somewhere around 0.12).

I reverted #5666 in my branch, though.

I can't tell if it's just compression but that still seems to have some form of visual artifact to me. I will take your word for it, it's definitely an issue with mikktspace normalization then.

I noticed that the shadows don’t line up in Noumenal either, so I performed an experiment in real life.

It seems that the lighting is more correct in the first (non-Blender) image. Which renderer did you use? Now I’m tempted to print some shapes to check lighting.

Totally possible that I just did the blendering incorrectly.On Mar 26, 2024, at 4:55 PM, Dusty DeWeese @.***> wrote:
I noticed that the shadows don’t line up in Noumenal either, so I performed an experiment in real life.
image.jpeg (view on web)
It seems that the lighting is more correct in the first (non-Blender) image. Which renderer did you use? Now I’m tempted to print some shapes to check lighting.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

That's a good point. Let's merge this and open a graphics issue.


add hbd command

birthday greeting template command

Coverage increased (+0.5%) to 90.909% when pulling 8dc7cf84f14e221310ff6db1d2c73f6504d50af3 on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Coverage increased (+0.5%) to 90.909% when pulling 74b774101544c1a8051e7b366aee54e15287780c on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Coverage increased (+0.5%) to 90.909% when pulling 4c693fa1cc223cffa02bd034b5925d3b5c534d00 on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Coverage increased (+0.9%) to 91.322% when pulling a75c91885692515f099f73cc117af239f1328c0f on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Coverage increased (+0.9%) to 91.358% when pulling 4a5965120eee9413fa32c1edf771000134d3975d on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Coverage increased (+0.9%) to 91.358% when pulling cb37260360c16ce51bde745879847c754677f75a on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Coverage increased (+0.9%) to 91.393% when pulling d40375294e9d3bda57b74188447e48144dca0a60 on hbd into bcc2c456e3b9fcae2fcbdc7fb78243717d841107 on master.

Lgtm. Ship it!


Add format config option

Add format option as plugin requires gd which can be setup without JPEG or WEBP support in some cases so transforms won't work

Pretty sure we can force this to be png.


Construct new ORNL ESGF-1.5 search index

Create a new Argonne ESGF-1.5 index
Populate the next index by converting the ORNL Solr index entries to Globus Search entries.

Currently blocked by #6


Update dependencies

When running npm audit a large number of vulnerabilities are found (even quite a few critical).
Relates to #69

Resolved by #121


Test Ladybird

This is a WIP PR for testing Ladybird browser
It currently works, but needs some extra work to make things nice

This is done as part of https://github.com/LadybirdBrowser/ladybird/issues/2306
This also requires https://github.com/LadybirdBrowser/ladybird/pull/2323 to get nice 500x500 pngs

@RazrFalcon I hope you don't mind leaving this WIP PR here for future reference. I'll update results here from time to time, and I really hope we reach 50% soon. We're beating 1592684/1860522 subtests on WPT today, how hard can fixing SVGs be?)
I expect a lot of new tests to pass when this list is done and https://github.com/LadybirdBrowser/ladybird/pull/2248 is merged

Sure, we can leave it.

how hard can fixing SVGs be?

Well, I would be very curious to know that  😄

Biggest issue is probably also taken care of soon: https://github.com/LadybirdBrowser/ladybird/pull/2357


Cookbook duplicated in gallery

I'm seeing the Gridding cookbook twice in the gallery:

Based on cookbook_gallery.txt, the second one should be the VAPOR cookbook.

Interesting.
I don't know if this is the cause, but the _config.yml file for the Vapor cookbook is not up to date with format expected in the latest cookbook template

Unfortunately https://github.com/ProjectPythia/vapor-python-cookbook/pull/15 did not resolve the issue. The VAPOR Cookbook still doesn't appear in the gallery.


First go at feature selection

There are many feature selection methods, but I'm not sure if any of them applicable to online learning. It would be nice if someone did some research in this direction and maybe made a first simple implementation.

Done!


Updated ENV_PLATFORM flag

Changes
Moved the env flag the the bottom right corner of the footer. I also removed the environment enum, so the text in the flag can be anything. The implication, however, is that the background color will be the same for any value.
Addresses https://github.com/open-telemetry/opentelemetry-demo/issues/616

Please add a changelog item for this too!
Looks great overall. Thank you for the help @martinkuba 🙏🏼


Typos on Explorer

On the scroll-over popup boxes, there are a few typos-- see below. Should be "difficulty" and "latest"

Not sure how this works... if there's a bounty-- 0xc338eddDc7C624e9BD2B6162fb7ecda904A81ce1 thanks :)

explore have it's new home now.
https://github.com/aionnetwork/aion_explorer
it will be convenient to open explore ticket there.

Will do- thanks Jin!


subgraph conversion error for subgraph_index:0

Hello?
I convert detection.ipynb file to detection.py and test it.
But subgraph conversion error occur and there are no detection results.
nvidia@ tegra-ubuntu:~/tf_trt_models/examples/detection$ python3 detection.py
2018-08-03 12:56:54.283943: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:865] ARM64 does not support NUMA - returning NUMA node zero
2018-08-03 12:56:54.284075: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties:
name: NVIDIA Tegra X2 major: 6 minor: 2 memoryClockRate(GHz): 1.3005
pciBusID: 0000:00:00.0
totalMemory: 7.66GiB freeMemory: 1.60GiB
2018-08-03 12:56:54.284128: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2018-08-03 12:56:55.970822: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-08-03 12:56:55.970892: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0
2018-08-03 12:56:55.970919: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N
2018-08-03 12:56:55.971081: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 908 MB memory) -> physical GPU (device: 0, name: NVIDIA Tegra X2, pci bus id: 0000:00:00.0, compute capability: 6.2)
Converted 199 variables to const ops.
['scores', 'classes', 'boxes']
2018-08-03 12:57:59.031208: I tensorflow/core/grappler/devices.cc:51] Number of eligible GPUs (core count >= 8): 0
2018-08-03 12:58:04.831767: I tensorflow/contrib/tensorrt/convert/convert_graph.cc:383] MULTIPLE tensorrt candidate conversion: 2
2018-08-03 12:58:04.844875: W tensorflow/contrib/tensorrt/convert/convert_graph.cc:418] subgraph conversion error for subgraph_index:0 due to: "Unimplemented: Require 4 dimensional input. Got 1 Postprocessor/BatchMultiClassNonMaxSuppression/MultiClassNonMaxSuppression/zeros_like_30" SKIPPING......( 181 nodes)
2018-08-03 12:58:05.072039: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2660] Max batch size= 1 max workspace size= 23679062
2018-08-03 12:58:05.072123: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2664] Using FP16 precision mode
2018-08-03 12:58:05.072153: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2666] starting build engine
2018-08-03 12:58:48.920384: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2671] Built network
2018-08-03 12:58:49.088932: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2676] Serialized engine
2018-08-03 12:58:49.100270: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2684] finished engine my_trt_op1 containing 434 nodes
2018-08-03 12:58:49.100414: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2704] Finished op preparation
2018-08-03 12:58:49.120219: I tensorflow/contrib/tensorrt/convert/convert_nodes.cc:2712] OK finished op building
2018-08-03 12:58:55.775380: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2018-08-03 12:58:55.775482: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-08-03 12:58:55.775510: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0
2018-08-03 12:58:55.775535: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N
2018-08-03 12:58:55.775620: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 908 MB memory) -> physical GPU (device: 0, name: NVIDIA Tegra X2, pci bus id: 0000:00:00.0, compute capability: 6.2)
I use JetPACK-3.2.1 and tensorflow1.8.0(python3)
I don't know what wrong..
Can you help me with this error?

The reported error is actually a warning.  In this instance, engine creation for one of the discovered sub-graphs failed so tensorrt integration fell back to the original tensorflow sub-graph.  However, for the other sub-graph, engine creation succeeded (my_trt_op1) which contains 434 nodes.


TOB-FUEL-1: Incorrect block hash returned for historical blocks

Description
Missing validation in the blockhashAtCommit function results in an incorrect blockHash being returned for any commitHeight that is more than NUM_COMMIT_SLOTS behind the latest commit height. This might cause problems in frontend applications and other smart contract integrations that rely on the correct return value of this function.
Figure 1.1: The blockHashAtCommit function in fuel-v2-contracts/contracts/fuelchain/FuelChainState.sol:
116    function blockHashAtCommit(uint256 commitHeight) external view returns
(bytes32) {
117       Commit storage commitSlot = _commitSlots[commitHeight % NUM_COMMIT_SLOTS];
118       return commitSlot.blockHash;
119    }

The FuelChainState contract stores the latest NUM_COMMIT_SLOTS (figure 1.2) commits in an array (figure 1.3). Whenever a new commit is added a modulo operation is used to choose the correct index in this array (figure 1.4) at which to insert the new commit.
Figure 1.2: The NUM_COMMIT_SLOTS constant variable in fuel-v2-contracts/contracts/fuelchain/FuelChainState.sol
27    uint256 public constant NUM_COMMIT_SLOTS = 240; //30 days worth of commits

Figure 1.3: The _commitSlots array variable in fuel-v2-contracts/contracts/fuelchain/FuelChainState.sol
47    Commit[NUM_COMMIT_SLOTS] private _commitSlots;

Figure 1.4: The commit function in fuel-v2-contracts/contracts/fuelchain/FuelChainState.sol
88    function commit(bytes32 blockHash, uint256 commitHeight) external
whenNotPaused onlyRole(COMMITTER_ROLE) {
89       uint256 slot = commitHeight % NUM_COMMIT_SLOTS;
90       Commit storage commitSlot = _commitSlots[slot];
91       commitSlot.blockHash = blockHash;
92       commitSlot.timestamp = uint32(block.timestamp);
93
94       emit CommitSubmitted(commitHeight, blockHash);
95    }

If the blockHashAtCommit function is called with a commitHeight that is sufficiently far in the past, then the blockHash of another (a newer) commit will be returned. What instead should happen is that the function reverts if it cannot return the blockHash of the requested commit height.
Exploit Scenario
Alice, a developer of a frontend application that interacts with the Fuel smart contracts, develops a UI component to retrieve the block hash of at any given commit height. The UI component seems to work as it returns a block hash for every commit height that is requested. However, it shows an incorrect block hash for all sufficiently old commit heights.
Recommendations
Short term, update the blockHashAtCommit function to revert if it cannot return the blockHash of the requested commitHeight. For example, by adding a field height to the Commit struct and checking that commitHeight == commit.height.
Long term, take into consideration other applications that interact with the Fuel smart contracts and ensure that all view functions return correct results at all times.

This is a non issue and was addressed during previous calls. It basically tracks a difficulty offchain / for the frontend. Addressing it would imply increasing the gas costs for the block committer, which we want to keep to a minimum.


fix(curriculum): add two edge test cases in sorted union problem

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #44588

Added two edge test cases to the problem as previously, even the code which wasn't handling some edge cases was passing the tests.

Hey @vaibhavgope
We would love to be able to merge your changes but it looks like there is an error with the CI build. ⚠
In particular the tests for this challenge are failing.
Once you resolve these issues, we will be able to review your PR and merge it. 😊

Feel free to reference the contributing guidelines for instructions on running the CI build locally. ✅


Single quotes instead of double

This isn't copyable very easily:
Create TXT record for the domain: "_acme-challenge.games.example.com". TXT record:
"hiznC7AoUeZIjLF0__3fikKGZUyr5AkWyK91uzfGwXc"

because double quotes are selected when you double click the value.
But this is:
Create TXT record for the domain: '_acme-challenge.games.example.com'. TXT record:
'hiznC7AoUeZIjLF0__3fikKGZUyr5AkWyK91uzfGwXc'

and since copy & paste is a big part of the process, making it easier would be nice.

What OS/tool?
For me (Mac OSX) a double click is just the inside of the quotes.

and since copy & paste is a big part of the process, making it easier would be nice.

Yes, totally want to make this easy.

Ah, yes, of course. That's different for every single terminal... I'm using Putty on Windows. I'm guessing Putty is the boss of selection logic. Double click selection is different everywhere. In browsers - would be a delimiter, but in Putty it selects right over it. Same for ".
I'm not sure there can be a one-size-fits-all...

Maybe wrap copyable values in [ and ]. I think they're uncopyable everywhere, but it's not very obvious what they mean... Do with it what you will.

Hey @rudiedirkx , didn't mean to ignore this, it slipped through the cracks.
At least for me(:tm:), single quotes and double quotes are the same, so I don't see any reason why they can't be replaced.

I'm not sure there can be a one-size-fits-all...

That's true. But if single-quote is more accessible, then :+1:.
[, ]are a very interesting idea. But it's ... gross. I'm going to PR to single quotes, and i'm open for additional improvements if others want improvements.


new edge won't let this project come up on p 80

Go to http://localhost:5000 in a browser to test the app. Works in Firefox, even though Firefox alerts me to http: sites as being insecure. Works in Chrome too! Tried the edge://flags/#edge-automatic-https but no slider emerged to set it on/off temporarily.
Available for preview: Automatic HTTPS helps keep your browsing more secure
No visible setting to allow http even after setting )
Automatic HTTPS switches your connections to websites from HTTP to HTTPS on sites that are highly likely to support the more secure protocol.
Guess this means http://localhost ?
The app is showing this output:
{"EventId":0,"LogLevel":"Information","Category":"Microsoft.Hosting.Lifetime","Message":"Content root path: /app/","State":{"Message":"Content root path: /app/","contentRoot":"/app/","{OriginalFormat}":"Content root path: {contentRoot}"}}
{"EventId":3,"LogLevel":"Warning","Category":"Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware","Message":"Failed to determine the https port for redirect.","State":{"Message":"Failed to determine the https port for redirect.","{OriginalFormat}":"Failed to determine the https port for redirect."}}
Suggest a rewrite of this page so all browsers including Edge work with this project.

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

ID: 3653642e-61ef-717b-5436-9bd0a3c4e6f4
Version Independent ID: 80c1ce51-46fb-0693-525a-7cad37150c7b
Content: Docker images for ASP.NET Core
Content Source: aspnetcore/host-and-deploy/docker/building-net-docker-images.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Sounds like a question for the Edge preview team.


Round data for annual_precip_totals and mean_annual_snowfall coverages to one decimal place

The data for the annual_precip_totals coverage, created with the arctic_eds/annual_mean_pr/annual_pr_preprocessing.ipynb notebook, and the mean_annual_snowfall coverage,  created with the arctic_eds/annual_mean_snowfall/annual_mean_swe_preprocessing.ipynb notebook, currently convert the native mm units to inches, in spirit of aligning with the original Atlas and engineer-preferred SI units. This decision might be subject to another GH issue, as it might make more sense to keep all data in Rasdaman in a single standard (metric / international or SI) for sake of simplicity, and worry about any conversion in the API. Anyway, the current processing rounds to the nearest integer, but it should round to the tenths place instead. This will obviously require using a float data type in place of the current 16-bit integer type used.

Update after today's tech chat regarding unit conversion and rounding strategy:

Rasdaman and the API receive data in SI units with appropriate and meaningful levels of precision.
API does rounding - not unit conversion.
Clients do the unit conversions and further rounding.

An example:

float32 precipitation GeoTIFFs in units of millimeters are ingested into Rasdaman

These are rounded to the nearest mm, but they'll still be over-precise because of the format.

The API returns the correct level of precision, i.e. 400 mm and not<PHONE_NUMBER>1 mm and also rounds the results from any averaging or condensing that is done via the API.
The client receives these rounded values and does further analysis and rounds those results / and or converts to other units and rounds those units as needed (convert 400 mm to 40.0 cm or 15.7 inches)

I'll create issues as needed here and in the API for individual coverages / endpoints.


elasticsearch/rails/lograge broke my custom lograge options

My application.rb file:
require 'elasticsearch/rails/lograge'

class Application < Rails::Application
  config.lograge.custom_options = lambda do |event|
     { params: event.payload[:params] }
  end
end

Since engine from elasticsearch/rails/lograge loads after my application.rb, it overrides config.lograge.custom_options and my configuration has no effect.

@bolshakov Is this still an issue for you or can we close it?

@estolfo I tried to fix it here #750, but the build was broken in master. So PR wasn't merged.

Thanks for the update, @bolshakov

Hello, this is still an issue.  #750 should be merged and released. I understand that there have been issues with CLA but please consider as maintainers to fix


Adding a decode to support Python 3.5 on Windows.

Fix this error: python 3.5: TypeError: a bytes-like object is required, not 'str'

Let's move this change internally to discuss the full details.


Add Issue Templates

Issues:
# Summary

*A short summary of the task*

# What needs to be done

*A checklist of subtasks*

- [ ]
- [ ]
- [ ]

# Output

*What is the expected output ?*

## Responsible

*the main responsible for the task*

If the issue requires work from others please do not assign attendees or put the issue in the doing column before it has been agreed upon on a team meeting.

## Link to documentation related to the task

*Insert link*

Pull Request
**1. What this MR does / why we need it:**

-
-

**2. Make sure that you've checked the boxes below before you submit MR:**

- [ ] I have run `npm run test` locally and there is no error.
- [ ] I have added documentation .
- [ ] I have implemented tests for my feature.
- [ ] no conflict with main branch.

**3. Which issue this PR fixes (optional)**

**4. CHANGELOG/Release Notes (optional)**

Thanks for your PR, you're awesome! :+1:

#9 might resolve this


Synonym or Thesaurus Search Capability

Describe the feature you'd like
It would be great for end users to search based on terms they are familiar with, e.g. the term store could be a synonym for outlet, customer or shop and vice-a-versa.
Describe the benefits this feature would bring to BookStack users
The reason for this is that the documentation would use a generic term, like outlet, but when a user searches they tend to use terms they are familiar with, e.g. store, so they would be able to find matching pages that contain outlet, even though they searched for store.
This will increase the probability of users locating the desired information.
Additional context
Add any other context or screenshots about the feature request here.

Thanks for the original request here, but I'm going to go ahead and close this off since there's be little additional desire for such a feature, and this is something that could be achieved via a dedicated page in the system.


Not working with numba's JIT (Pyflame not following all child processes?)

I was using pyflame to profile an application that uses numba for JIT compilation. It turns out the from numba import jit is enough to cause any profile with the -t option to exit too early. I tried using the --threads option, but that does help either. For longer running processes it is still possible to attach to the eventual pid manually, but this is of course not feasible for those that exit within a few seconds.
Would it be possible to wait for other child processes as well, or should pyflame already be doing that (with numba the cause of the problem)? I am not entirely sure how to check this myself.
As an example, I took the sleeper.py script, and added from numba import jit in the import section:
import os
import sys
import time
from numba import jit

def main():
    sys.stdout.write('%d\n' % (os.getpid(), ))
    sys.stdout.flush()
    for i in range(10):
        time.sleep(0.1)
        target = time.time() + 0.1
        while time.time() < target:
            pass

if __name__ == '__main__':
    main()

Ack. The PR I just put up seems to make this less bad, but doesn't quite fix it. From what I can tell, tracing a numba script with Pyflame causes SIGABRT to be delivered to the child process.

Looks like the abort issue is something else -- I can reliably cause numba to crash with a segfault when I fork in a Python script using the JIT. F Can you verify if this change fixes the application you're using? Clone the branch fix_sigchld from my fork of this repo to test.

It still fails to attach to the (child?) process after the JIT is done. So the only thing I see in the profile when running pyflame -o out.txt -t python sleeper.py using the code above is import statements (frozen importlib stuff). I could try to dive a little in numba and see how it spawns the new process with compiled code, but it will a few weeks before I can find time for that. As I mentioned, attaching with -p to the eventual pid is still workable for now, but is not as convenient.

Closing this for now, although I need to figure out how to add a test case...


How to catch login error?

Hello,
I am using the following code to log in, but can someone tell me how I can catch the error it is returing so I can present it to the user?
                const ig = new IgApiClient();                 ig.state.generateDevice(userName) //process.env.IG_USERNAME);                 ig.state.proxyUrl = process.env.IG_PROXY;                 (async () => {                     const loggedInUser = await ig.account.login(userName, password) //process.env.IG_USERNAME, process.env.IG_PASSWORD);                     console.log(************************* loggedInUser: ${loggedInUser})                     const imgAsset = story.get("imageAsset");                     console.log(************************* PublishStory imgAsset.url(): ${imgAsset.url()}`)
                Parse.Cloud.httpRequest({
                    url: imgAsset.url()
                }).then(function(response) { // The file contents are in response.buffer.
                    (async () => {
                        const resStory = await ig.publish.story({
                            file: response.buffer
                        });
                    })();
                });
            })();

`
But, how can I catch the following error?
`2021-07-17T16:51:16.801179+00:00 app[web.1]: You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
2021-07-17T16:51:16.801198+00:00 app[web.1]: IgLoginBadPasswordError: POST /api/v1/accounts/login/ - 400 Bad Request; The password you entered is incorrect. Please try again.
2021-07-17T16:51:16.801199+00:00 app[web.1]: at /app/node_modules/instagram-private-api/dist/repositories/account.repository.js:39:27
2021-07-17T16:51:16.801235+00:00 app[web.1]: at tryCatcher (/app/node_modules/bluebird/js/release/util.js:16:23)
2021-07-17T16:51:16.801258+00:00 app[web.1]: at /app/node_modules/bluebird/js/release/catch_filter.js:17:41
2021-07-17T16:51:16.801303+00:00 app[web.1]: at tryCatcher (/app/node_modules/bluebird/js/release/util.js:16:23)
2021-07-17T16:51:16.801329+00:00 app[web.1]: at Promise._settlePromiseFromHandler (/app/node_modules/bluebird/js/release/promise.js:547:31)
2021-07-17T16:51:16.801356+00:00 app[web.1]: at Promise._settlePromise (/app/node_modules/bluebird/js/release/promise.js:604:18)
2021-07-17T16:51:16.801377+00:00 app[web.1]: at Promise._settlePromise0 (/app/node_modules/bluebird/js/release/promise.js:649:10)
2021-07-17T16:51:16.801396+00:00 app[web.1]: at Promise._settlePromises (/app/node_modules/bluebird/js/release/promise.js:725:18)
2021-07-17T16:51:16.801417+00:00 app[web.1]: at _drainQueueStep (/app/node_modules/bluebird/js/release/async.js:93:12)
2021-07-17T16:51:16.801461+00:00 app[web.1]: at _drainQueue (/app/node_modules/bluebird/js/release/async.js:86:9)
2021-07-17T16:51:16.801510+00:00 app[web.1]: at Async._drainQueues (/app/node_modules/bluebird/js/release/async.js:102:5)
2021-07-17T16:51:16.801551+00:00 app[web.1]: at Immediate.Async.drainQueues [as _onImmediate] (/app/node_modules/bluebird/js/release/async.js:15:14)
2021-07-17T16:51:16.801600+00:00 app[web.1]: at processImmediate (internal/timers.js:461:21)
`
Thank you

solved my issue with this code:
                    await ig.account.login(userName, password)                     .then(resp => {                         console.log(************************* resp: ${loggedInUserresp})                     }).catch(error => {                         console.log(************************* exception: ${error})                     });


monoreopization

monorepoization example for rarma

I spoke with @nullmames earlier today, he wasn't too keen on working in the "code repo", so I'm closing this.


Add 'neovim-plugin' as topic to the GitHub repository

I would like to request the addition of the 'neovim-plugin' tag to this repository. This tag is necessary for the plugin to be listed on dotfyle.com, which is a valuable resource for Neovim users.
Please consider tagging the repository accordingly.

done. Thanks for the suggestion, I wasn't aware of that.

done. Thanks for the suggestion, I wasn't aware of that.

Thank you!
https://dotfyle.com/plugins/michaelrommel/nvim-silicon


deleted pages still show up

Eg: metrics subcommands that were removed recently still appear.
It shows 404 at first, and then fetches from cache somewhere and displays the old data.

Weird! Looks like a deployment cache issue because the document is gone gone from the code base.

https://github.com/gatsbyjs/gatsby/issues/2410
https://github.com/gatsbyjs/gatsby/issues/10844
Gatsby has closed and reopened this issue many times. Maybe running gatsby clean in the deployment server could solve this problem.
Or, another solution written in these issues is to manually clear the .cache folder. (Although I don't see how these solutions are way different)
I surfed through the public folder in my local clone and here's what I found in public/page-data/doc/command-reference/metrics:

Maybe it isn't deleted unless we clear the cache.


Coordinate Frame Implementation

We need to construct a coordinate frame from two vectors a and b which are in the canonical basis xyz. a and b need not be orthonormal but they need to be linearly independent in order to create an orthonormal basis. This can be done as follows:

Let a be the z' axis of the new coordinate frame
Normalize z'
Let x' be the cross product of b and z'
Normalize x'
Let y' be the cross product of z' and x'. y' is already normalized because z' and x' are normalized.

At this point x'y'z' represent an orthonormal basis.
You can change to basis of  any vector v from the canonical basis xyz to x'y'z' by multiplying B'v where B' is a matrix whose rows are x', y' and respectively z'.
This allows us to create a camera coordinate frame from a facing point and an up vector. Once we have the coordinate frame we can move all objects in space to the camera frame.

Dank.


When a non-profile is loaded as a profile, there is no way to clear the error.

Repro steps
I created a basic dat webpage with Beaker here: dat://0dcb87b647072fe9b527c3ebe63c1ee5def6660b67c03980f78d1711c722f7c9
Then I navigated to the Fritter instance
And I selected the basic dat webpage
Then I expect the page to load
Instead I see a blank page
and the console has raised the following error

When this work is complete I expect Fritter to reject invalid profiles and require a user create or update the appropriate fields in their profile page.

Thanks for filing! We'll hit this soon


Add a Gitter chat badge to README.md

mindriot101/rust-fitsio now has a Chat Room on Gitter
@mindriot101 has just created a chat room. You can visit it here: https://gitter.im/rust-fitsio/Lobby.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

This change is

Turns out we already have one! D'oh 🤦♂


Cor 4129

As a followup to COR-4129, clarifying some vague wording about the time it takes for an AutoAllocate activity to start showing confidence. Previous wording could have been interpreted as saying Auto-Allocate would reach 95% confidence (i.e. be complete) in half the time a normal A/B test would run; instead the statement is that "typically, confidence levels are shown after half the time that a normal A/B test would run"

thanks, will update later this afternoon


Request: Document "Hacking" in CONTRIBUTING.md

Problem
When I hack on nixpkgs, I do the following -- for which there must be something much better:
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, expat, ocaml, findlib, ounit }:
+with import <nixpkgs> {};
+# { stdenv, lib, fetchFromGitHub, expat, ocaml, findlib, ounit }:

so that I can run things like nix-build against a given package.
Another way is to do something like nix-shell default.nix --arg stdenv '(import <nixpkgs> {}).stdenv ..., but this is pretty cumbersome.
Checklist
I did try my best here, though each are quite long of course --

[x] checked latest Nixpkgs manual
[x] checked open documentation issues for possible duplicates
[x] checked open documentation pull requests for possible solutions

Proposal
Add a blurb about how to best hack on a given package in CONTRIBUTING.md.

Per @jtojnar, a much more ideal workaround than changing the code is the following:
nix-shell -p 'with (import <nixpkgs> {}); pkgs.ocamlPackages.callPackage ./default.nix {}'

... i.e. in this example, using the respective callPackage implementation for a group of derivations. https://github.com/NixOS/nixpkgs/issues/172061#issuecomment-1374752560

This is the sort of thing I'm thinking could be especially useful in https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md.

I still think that if you are contributing a package to Nixpkgs, it is best to add an attribute to the appropriate package set. Then you will be able to just use e.g. nix-build -A ocamlPackages.ocaml_expat:
https://github.com/NixOS/nixpkgs/blob/e9857feb1d4c30e0ac9e7b8d94a165c30f6c9ad3/pkgs/top-level/ocaml-packages.nix#L981-L984
Looks like the OCaml section of the manual does not mention that OCaml packages are defined in pkgs/top-level/ocaml-packages.nix. There should probably be a paragraph about it like in the Octave section:

All Octave packages are defined in pkgs/top-level/octave-packages.nix rather than pkgs/all-packages.nix . Each package is defined in their own file in the pkgs/development/octave-modules directory. Octave packages are made available through all-packages.nix through both the attribute octavePackages and octave.pkgs . You can test building an Octave package as follows:

I still think that if you are contributing a package to Nixpkgs, it is best to add an attribute to the appropriate package set. Then you will be able to just use e.g. nix-build -A ocamlPackages.ocaml_expat:
https://github.com/NixOS/nixpkgs/blob/e9857feb1d4c30e0ac9e7b8d94a165c30f6c9ad3/pkgs/top-level/ocaml-packages.nix#L981-L984
Looks like the OCaml section of the manual does not mention that OCaml packages are defined in pkgs/top-level/ocaml-packages.nix. There should probably be a paragraph about it like in the Octave section:

All Octave packages are defined in pkgs/top-level/octave-packages.nix rather than pkgs/all-packages.nix . Each package is defined in their own file in the pkgs/development/octave-modules directory. Octave packages are made available through all-packages.nix through both the attribute octavePackages and octave.pkgs . You can test building an Octave package as follows:

This very much makes sense to me; so the documentation could be oriented around, say the very example I was working on (attempting to make a modification to an OCaml library).
Are there good guidelines on acceptance criteria for documentation and any "owners" in that domain for nixpkgs? Would love to help.

Are there good guidelines on acceptance criteria for documentation and any "owners" in that domain for nixpkgs? Would love to help.

You are probably best off looking on who contributed to it in the past: https://github.com/NixOS/nixpkgs/commits/master/doc/languages-frameworks/ocaml.section.md
There is also documentation team: https://matrix.to/#/#docs:nixos.org

Looks like a reference to this could be good to add as well
https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-develop.html


Add extmap consts

Extract extmap consts from https://github.com/pion/webrtc/pull/1230

@jbrady42 fantastic :) this is great for discoverability, thanks for making them constants!
If you can fix the commit/author linter I will merge!
$ bash .github/assert-contributors.sh
Please add the following contributors to the README
Jason

$ bash .github/lint-commit-message.sh
Add extmap consts
-------------------------------------------------
The preceding commit message is invalid
it failed 'Separate subject from body with a blank line' of the following checks
* Separate subject from body with a blank line
* Limit the subject line to 50 characters
* Capitalize the subject line
* Do not end the subject line with a period
* Wrap the body at 72 characters

Good to go.

@jbrady42 sounds good to me!
Feel free to merge/push tags whenever you want on any Pion repo :) The only time we probably need consensus is on breaking changes


Api key or other security mechanism?

Is there an easy way to secure the webservice with an api key or username/password?

I've just added support of "Basic" auth (https://github.com/vbauer/manet/commit/da8048fecaa69fda050ff1a0c17f41c4eb0445df), you can add another security mechanism. I'm open for pull requests.
In the nearest future I'll update README and add more unit tests.

Wow thats great! Basic auth is absolutely enough for my purposes.
Will the new version be available with npm soon or will i need to build from source?

I hope release 0.4.6 will be ready before the end of this week.

ok, thats great!

@jeff1985 NP :)

@jeff1985 0.4.6 version has been released.
JFYI: Minimum version of NodeJS is 4.0.


Field writer has no impl when enumeratedValue is derived

Hello,
I'm currently implementing a PAC/HAL for the GD32E103 device and set the SVD to derive TIMER*.CTL0.CEN registers to TIMER0.CTL0.CEN register:
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMER0.CTL0.CEN.CEN"/>
            </field>

The generated code reuses the CEN_A and CEN_R types from TIMER0 to every timer but not the CEN_W. The issue is that is defines the type (pub type CEN_W<'a, const O: u8> = crate::BitWriter<'a, u32, CTL0_SPEC, CEN_A, O>;) but it does not provides its implementation (to set the variants) as it does on TIMER0.
This issue appeared between svd2rust 0.24.0 and 0.25.0.

Please, add link on source

An example of the bug is available on https://github.com/gd32-rust/gd32-rs for the gd32f1 timer peripheral (the gd32e1 is still a WIP). The generated source code is available on https://github.com/gd32-rust/gd32-rs-nightlies/tree/main/gd32f1. I attached the patched svd used by svd2rust for generation. On the svd file you can see lines 17899-17905 the derived I quoted earlier.
On the generated code you can compare the two CEN_W types for TIMER0 and TIMER1 (which is derived from TIMER0). The documentation for TIMER0.CTL0.CEN is on https://docs.rs/gd32f1/latest/gd32f1/gd32f130/timer0/ctl0/type.CEN_W.html and has the implementation. The one for TIMER1.CTL0.CEN is on https://docs.rs/gd32f1/latest/gd32f1/gd32f130/timer1/ctl0/type.CEN_W.html and lacks the implementation.
gd32f130.svd.txt


URL validation on custom URL

Closes #1739
This adds some basic validation on the URL form that should prevent any potential socially engineered vulnerability. It ensures the protocol is http[s] and checks against special characters in the domain.

[x] Tests pass (no build errors)
[x] Rebased/mergeable

The custom URL selector isn't showing up for me locally.

Are you seeing any JS errors in your browser console?

@pierwill Nevermind. The URL selector modal is now context-sensitive. If you're in the cloud docs, you wont' be able to select the custom URL. If you're in the OSS docs, you will. If you're anywhere else in the docs, you'll see options for both cloud and OSS.

👍