Added support for FreeRTOS systems and ESP32 chip

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @MaJerle done, please check.


How to type in combination with quick-lru?

const lru = new QuickLRU<string, { name: string }>({ maxSize: 10_000 })
const cache = new Keyv<{ name: string }>({ store: lru })

Produces:
No overload matches this call.
  Overload 1 of 2, '(options?: (Options<{ name: string; }> & Record<string, unknown>) | undefined): Keyv<{ name: string; }, Record<string, unknown>>', gave the following error.
    Type 'QuickLRU<string, { name: string; }>' is not assignable to type 'Store<string | undefined>'.
      The types returned by 'get(...)' are incompatible between these types.
        Type '{ name: string; } | undefined' is not assignable to type 'string | Promise<string | undefined> | undefined'.
          Type '{ name: string; }' is not assignable to type 'string | Promise<string | undefined> | undefined'.
  Overload 2 of 2, '(uri?: string | undefined, options?: (Options<{ name: string; }> & Record<string, unknown>) | undefined): Keyv<{ name: string; }, Record<string, unknown>>', gave the following error.
    Argument of type '{ store: QuickLRU<string, { name: string; }>; }' is not assignable to parameter of type 'string'.ts(2769)
(alias) new Keyv<{
    name: string;
}, Record<string, unknown>>(options?: (Keyv.Options<{
    name: string;
}> & Record<string, unknown>) | undefined): Keyv<{
    name: string;
}, Record<string, unknown>> (+1 overload)
import Keyv
@param opts — The options object is also passed through to the storage adapter. Check your storage adapter docs for any extra options.

Any idea how we are supposed to type this? Thanks

I haven't done the Keyv<{name: string}> part before as you should be able to just do:
const cache = new Keyv({store: lru});
have you tried that?

going to close this issue as I think that is the fix.


A little grammar for README

A little clean up for the README. It is the first thing most people read when they land on a repo ;-)

This is great @rbiggs, thanks a lot!


ENH: show/hide video

adds show/hide functionality to videos, and adds compatibility between video playback and screen background colors.  Also splits the video playback example into "simple" and "advanced" variants.

@Eric89GXL can you grant me access to the AppVeyor expyfun project, so I can restart AppVeyor builds when they fail for random reasons?  Other than that I think this PR is ready for review/merge.  @rkmaddox if you have time would like your input on the video API decisions implicit in this PR.

That's weird, you should be able to since you're an admin.

LGTM but please add some simple tests

Changes Unknown when pulling 23484ba175004ac7cc10970aac6c562e381beeb1 on drammock:hide-video into ** on LABSN:master**.

Changes Unknown when pulling b85d42c8d6852f20b0752ea0a966dde222752598 on drammock:hide-video into ** on LABSN:master**.

AppVeyor is unhappy about wget, you can look at whatever the code uses to get Miniconda installed to see how to download

Changes Unknown when pulling 99a351144a6959d2392888a7e74c8ec822795936 on drammock:hide-video into ** on LABSN:master**.

@Eric89GXL I am giving up on AVbin + appveyor.  The AVbin windows installer appears to not accept any command-line flags, and I've just spent about 2 hours trying to select the installer window and spoof an ENTER keypress through powershell, with no success.  Do we have a function decorator that will prevent a test from being run on windows?

No such decorator. Probably we want to write one like requires_avbin that checks to see if the avbin executable is found and skips the test if not (on Linux, OSX, or Windows).

Changes Unknown when pulling 6a74a7c6fba2e345e504417b1b6b1e806ffe9d35 on drammock:hide-video into ** on LABSN:master**.

@Eric89GXL you cool with this now?

Also, when running simple_video.py I get:
Traceback (most recent call last):
  File "examples/stimuli/simple_video.py", line 24, in <module>
    ec.load_video(movie_path)
  File "/home/larsoner/Documents/python/expyfun/expyfun/_experiment_controller.py", line 758, in load_video
    self.video = Video(self, file_name, pos, units)
  File "/home/larsoner/Documents/python/expyfun/expyfun/visual/_visual.py", line 982, in __init__
    self._source = load(file_name)
  File "/home/larsoner/.local/lib/python2.7/site-packages/pyglet-1.2.2-py2.7.egg/pyglet/media/sources/loader.py", line 60, in load
  File "/home/larsoner/.local/lib/python2.7/site-packages/pyglet-1.2.2-py2.7.egg/pyglet/media/sources/loader.py", line 83, in load
  File "/home/larsoner/.local/lib/python2.7/site-packages/pyglet-1.2.2-py2.7.egg/pyglet/media/sources/riff.py", line 198, in __init__
pyglet.media.sources.riff.WAVEFormatException: AVbin is required to decode compressed media

This is because I don't have AVBin, but we should probably make it a more informative error (how should the user correct the problem?). Not necessarily for this PR though

Other than my gripe about nesting the pyglet import in the decorator +1 for merge

Changes Unknown when pulling e8291a02cdf069a5068a1f4ae8bdad4a78c5b372 on drammock:hide-video into ** on LABSN:master**.

Changes Unknown when pulling 1ccec35c8d986bd1f78164e90ce0c5dec86b1b3c on drammock:hide-video into ** on LABSN:master**.

Thanks @drammock


OS Support:  Debian

Add os support for debian. This should be mostly functional already. The service manager for service status check might not be sysstemd

Debian has used systemd as of April, 2015 (https://en.wikipedia.org/wiki/Systemd#Adoption).
I've been testing and coding on Ubuntu 180.04.2 (Debian based) and building and testing inside a Debian 9 (stretch) Docker container for almost 3 months now. So far I haven't uncovered any OS dependent problems except for getting available memory which I've resolved by using the (hopefully)  distribution independent technique of reading /proc/meminfo directly.
I feel this issue may be safely closed.

After some discussion, closing this issue. CentOS is/will be a target OS so functionality must also be checked against CentOS.


Review the consensus CONTRIBUTING file

Take a look at this article. For now ignore:

Code of Conduct - we'll have a central one for all of the projects, so that won't be in the CONTRIBUTING.md
The part in step 3 about licenses - that's the lawyers' job.
The "system for rewarding people"

Other examples include:

https://github.com/subsurface/subsurface/blob/master/CONTRIBUTING.md
https://github.com/apache/commons-collections/blob/master/CONTRIBUTING.md
https://gitlab.gnome.org/GNOME/gtk/-/blob/main/CONTRIBUTING.md

Additional ideas from Yogesh:

For a someone trying to get inside the consensus layer, I think following questions need to be answered

Motivation for contributing to a consensus layer

Contribution guidelines (this can be common to the whole repository or the organization)

Areas that can be contributed. We can list specific tasks that can be taken as low hanging fruits. If we can add issues here, that would be very useful who is reading the documentation.

Documentation

Examples

Tools - For debugging, profiling or tracing

Performance

Can we list down the performance bottlenecks

Can we list performance criteria such as hardware (NUMA?)

Issues/Tasks

We have some issues marked as “good as a first issue”. But I feel that these are written by someone who is already conversant with the code. If we can put objectives and facts in the issue, it would be easier for a someone who is trying to get into the code.

In each of the above areas, can we create a set of objective issues. (For example, in the documentation, we can point to lare documentations mentioned in few files and make it accessible from the top level document)

The existing document jumps right into profile tips and tricks, it might be a good idea to split this document into “contribution” and “working with consensus” section of documentation.

Done as per https://github.com/input-output-hk/ouroboros-consensus/blob/main/CONTRIBUTING.md


[FEATURE] Integrate disqus for commenting

@lgcolella  Having commenting features in a blog post will give much more interaction with the audience. It will be a good idea to integrate Disqus in this blog project. Thank you

@Aju100 Thank you for your interest in this starter! I'll work on that in my spare time. In the meanwhile you can see it how I implemented this feature in another project here and open a PR if you want.

@Aju100 Disqus added https://github.com/lgcolella/gatsby-starter-developer-blog-v2/commit/1ec5b74137c0b0794c20a52650db8597a314e6d3.

@lgcolella  thank you but I had implemented through your previous codebase which was implemented in Js. As I am learning so wouldn't make to open PR using TSX one .


⚠ Bofrost.at has degraded performance

In 766da4a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1771 ms

Resolved: Bofrost.at performance has improved in deaf714 after 8 minutes.


[EXP-102-302] feat: removing some internal brownie contract data to reduce the memory footprint

Needs a lot more testing for any unwanted side-effects.
Especially pcMap, ast and  coverageMap are the biggest memory consumers.

This is awesome, great investigative find. Now people will be able to run many more exporter instances in parallel!


e2e: add test for Timeout in ClientTrafficPolicy

Fixes: https://github.com/envoyproxy/gateway/issues/2677

/retest


8.0.0-preview.5 datagrid bug

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudDataGrid
What happened?
This issue is quite strange. When using the latest preview.5 version of MudDataGrid, the pagination indicates that there is data, and there is indeed data, but the DataGrid displays "no data." In contrast, it works correctly in the preview.2 version. Additionally, there is an issue with the footer in preview.5 MudDataGrid.

Expected behavior
In preview.2, MudDataGrid can display data normally.

Reproduction link
https://architecture.blazorserver.com/pages/contacts
Reproduction steps

...
Relevant log output
No response
Version (bug)
8.0.0-preview.5
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

If possible, could you identify which version from 3 to 5 the issue actually first appears.

After testing, the issue only occurs in version 5.

Can you please post a minimal reproduction project in a zip file? In this case, I can use git bisect to find the regression commit, as there were a few for the datagrid. Otherwise, it would be like looking for a needle in a haystack.

The issue with mud-table-foot is that the footer cells are not aligned with the table cells.

it is indeed an issue caused by Virtualize.

duplicate #10343


AWS Getting Started Docs need updating with new Bucket resources

Problem description
Since the changes in the v5.0.0 version of the AWS provider that deprecated serveral bucket resources, the getting started guide here are now out of date, and throw deprecation warnings to new users.
This is a very poor user experience for users new to Pulumi, as they immediately get a scary warning message when they provision their first resources.
We should update these resources to use the new BucketV2 resources.
Affected product version(s)

pulumi-aws v5.0.0

@cnunciato i know you are in the midst of working on these guides. any chance you could work in resolving this issue with that work?


MWPW 138749 Visual tests for merch cards

Add the visual tests into integration tests
Add a test job into the workflow triggered when a PR is merged to Milo main.
Test Chromium screenshots only in the workflow. There are high variations in rendering for Firefox and WebKit's. Looking for solutions.
The baseline screenshots are from macOS 12.7.2, which is the latest macOS in GitHub Actions. The workflow runs on macOS only.
Accordion tests and screenshots are updated.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f26fbec) 97.90% compared to head (b7fe4bd) 97.86%.
Report is 17 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #514      +/-   ##
==========================================
- Coverage   97.90%   97.86%   -0.04%
==========================================
  Files          26       26
  Lines        2907     2907
==========================================
- Hits         2846     2845       -1
- Misses         61       62       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Looks great @TsayAdobe!


Button ripple not using MuiTouchRipple styles from custom theme

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Button ripple ignores MuiTouchRipple.styleOverrides in custom theme
Expected Behavior 🤔
MuiTouchRipple.styleOverride should affect the button ripple element
Steps to Reproduce 🕹

Steps:

Create a custom theme
Add styles under components.MuiTouchRipple.styleOverrides
Add a ThemeProvider component using the custom theme
Add a Button component under the ThemeProvider component

Sandbox: https://codesandbox.io/s/old-shape-fgu9g?file=/src/Demo.tsx
Context 🔦
I used the MuiTouchRipple theme style in v4 to override another style that shouldn't be applied to touch ripples

TouchRipple is not internal component. You should override Button directly.

If it's a internal component and we can't override it's style via the theme, shouldn't it be removed from the theme definition?

If it's a internal component and we can't override it's style via the theme, shouldn't it be removed from the theme definition?

You are right, it should be removed from the ThemeOptions definition. Would you like to open a PR?

I was having the same issue. Please let's remove it from component style type definition to reduce confusion

This is a breaking change, so it will be removed in v6.

Why is it a breaking change? As far as I understand it we don't follow semver with types and this value has no runtime impact.

The detail is here https://github.com/mui/material-ui/pull/28631.


Added pricing page

I upgraded to Tailwind v2 because I thought I needed some negative positioning classes not in v1, then realized I didn't need them 😅 . Keeping the upgrade in this PR.
Below is what the pricing page looks like. "Get started" button links to the signup page, and "Let's chat" is a<EMAIL_ADDRESS>I didn't add the Pricing page to the menu, because there's a different Trello story for that.

 Basic pricing page for the website

Thanks a lot for the V2 upgrade by the way, that’ll be super helpful!


Make artifact in travis/appveyor for released ninja binary

I think it is better to take ninja binary from CI instead of maintainer's personal machine.
Following docs seems relevant.
https://www.appveyor.com/docs/packaging-artifacts/
https://docs.travis-ci.com/user/deployment/releases/

Fixed by #1681 :)


[BUGFIX] Add undef check to fix add panel showContent error

Follow up to PR #1023 to add an undefined check when using __experimentalEChartsOptionsOverride to hide the custom TimeSeriesTooltip
Before

After

Checklist

[x] Pull request has a descriptive title and context useful to a reviewer.
[x] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, IGNORE.
[x] All commits have DCO signoffs.
[x] Changes that impact the UI include screenshots and/or screencasts of the relevant changes.

Planning to add an e2e test with Playwright soon to catch this time of issue next time


Fixing jupyter installation

Falling back to working versions. At some point we might need to check (with mamba/conda) to see if we can update to newer version. This fixes #26

I've pushed a styling fix


Date range validation fails for values far in the past or future

Dates after "2262-04-11T23:47:16.854Z" and before "1677-09-21T00:12:43.146Z" foil the maximumValue/maximumValueExclusive and minimumValue/minimumValueExclusive constraints, respectively, of the date and datetime validation types. For example, suppose a datetime property has a maximumValue or maximumValueExclusive constraint of "2018-02-05T00:00:00.000-0800"; if the sync function receives a candidate value of "2262-04-11T23:47:16.855Z" or higher, it will allow the value even though it is clearly after than the maximum value. Similarly, if a datetime property has a minimumValue or minimumValueExclusive constraint of "2018-02-04T00:00:00.000-0800" and the sync function receives a candidate value of "1677-09-21T00:12:43.145Z" or lower, it will erroneously allow the value.
The issue seems to be a result of buggy parsing of ISO 8601 date strings by the Date constructor and Date.parse function from the JavaScript engine that is used by Sync Gateway (otto). If either encounters an ISO 8601 date that falls outside the range, it produces a value that is incorrect. For example, parsing "2262-04-11T23:47:16.855Z" produces "1677-09-21T00:12:43.146Z".

Addressed by #222


The "ENet-Label-Torch" is a light-weight of scnn?   ENet+scnn?

ENet-Label-Torch is based on SCNN, but replaces VGG-16 and removes message passing. Besides, attention distillation is adopted. Please refer to the codes to check the details.

thanks for your reply.

Sorry for bothering you again.

I scan the code in ENet-Label-Torch. It seems IOU loss is not used in the lua torch code, right?
I' m a little confused by the stucture of the repo. It seems ENet-Label-Torch and ENet-TuSimple-Torch both implement the attention distillation. Why two directories?

Thanks!

Yes. Since it only brings marginal performance gains.
The codes for TuSimple also contain the postprocessing to extract lane points from probability maps and the evaluation script to calculate Accuracy, FP and FN. I release the codes of ENet to facilitate the reproduction process in TuSimple.


Register target commands regardless of keymap existence

Commands like build:trigger:<command name> were previously registered
only in case when command definition contains keymap.

The names of the targets in the command palette are quire similar though:

According to the atom documentation:

Command names must follow the namespace:action pattern, where namespace will typically be the name of your package, and action describes the behavior of your command. If either part consists of multiple words, these must be separated by hyphens. E.g. awesome-package:turn-it-up-to-eleven. All words should be lowercased.

I am aware that this is not new in this PR, but arguably quite more noticible.
One solution could be to string.replace(/[^a-z\-]/g, ''). The same would have to be done at row 325 where we find the target by name.
Do you have another suggestion?

Your solution will make command names follow the required pattern, but it will also make them obscure. Here is the example:
> 'PlatformIO: Build'.replace(/[^a-z\-]/g, '')
< "latformuild"

My suggestion is to do the following:
function normalizeCommandName(commandName) {
  return commandName.toLowerCase()
    // Commands usually have their own namespace.
    // This will remove a space between namespace and the actual command.
    .replace(": ", ":")
    // Replace whitespace with hyphen
    .replace(/\s+/g, "-")
}

Examples:
> normalizeCommandName('PlatformIO: Build')
< "platformio:build"
> normalizeCommandName('Prefix: Four Words Command Name')
< "prefix:four-words-command-name"

toLowerCase() is a good idea.
I do not think we can have the colon there though. it appears that Atom takes the name of the command (e.g. a:b:c) splits on colon and takes the first entry (index 0) and second entry to build the commandname - which mean c would be removed in my example.
How about toLowerCase() then the regex I suggested?

I just checked it out myself. It appears that atom does not perform any manipulation on command name, Atom saves it as is. Run this into developer console:
atom.commands.findCommands({target: atom.views.getView(atom.workspace) })
  .map(function(command) {return command.name})
  .filter(function(name) {return name.indexOf("build") === 0})

On Atom 1.4.0 I can see this as a result:
["build:toggle-panel", "build:error-match", "build:error-match-first", "build:refresh-targets", "build:trigger", "build:select-active-target", "build:stop", "build:confirm", "build:no-confirm", "build:trigger:PlatformIO: Build", "build:trigger:PlatformIO: Clean", "build:trigger:PlatformIO: Upload"]

I think that namespace:action is only intended to decrease the probability of name conflicts. I do not see any reason, why action cannot have its own namespace as well.
Also, I think that provider writers may be willing to assign the command name explicitly. So how about adding optional commandName parameter to target definition, e.g.:
{
  "cmd": "<command to execute>",
  "name": "<name of target>",
  "commandName": "<name of Atom command>",
  "args": [ "<argument1>", "<argument2>" ],
}

But fallback to what you've suggested:
.map(tool => {
  if (!tool.commandName) {
    tool.commandName = tool.commandName.toLowerCase().replace(/[^a-z\-]/g, '');
  }
  return tool;
})

under this line. Then full command might be like build:trigger-{commandName}.

It really appears to register with colons and stuff. I guess it's mainly presentation in the command palette which is filtered.
Supplying an additional key is certainly an option. To further distinguish it from cmd maybe we should call it atomCommandName instead? I think we should throw an error if the commandName does not match /[a-z\-]+ rather than doing replace and stuff.
I would also argue, if we add the key, that we should not register the command unless that key is specified. To prefer explicitness over implicitness.

maybe we should call it atomCommandName instead

I agree.

we should not register the command unless that key is specified

I agree.

I think we should throw an error if the commandName does not match /[a-z-]+/ rather than doing replace and stuff

I don't think so. It's up to Atom to decide if command name is correct or not. In my opinion, we should put a note about how should command names be formatted into create-provider.md.
I just went a little deeper and tried to use a function as a command name. Aaaaand... It works just fine.
> commandName = function(){};
> atom.commands.add('atom-workspace', commandName, function(){console.log('apparently, command name should not necessary be a string')})
> atom.commands.dispatch(atom.views.getView(atom.workspace), commandName)
// Prints "apparently, command name should not necessary be a string"

Only exception here is that if commandName is an instance of Object, then Atom treats it as a list of commands to register. Otherwise, it just adds it as is.
Also I just realized that we may not add build:trigger prefix to the command names, but use atomCommandName only. Thus, full responsibility (and control) over the format of command names will be on the provider developer shoulders. What do you think?

I like that idea; register atomCommandName as is. In README we can link to above documentation of Atom, but any error is the user's. This also means we make very few assumptions about the API of Atom, which is a good thing. Makes eventual future breaking changes in the Atom API easier to transition to.

See #305

Closed in favor of #305


AutoSaveStateMiddleware.add() should use apply()

The current implementation of AutoSaveStateMiddleware.add() uses a loop to add passed in objects to the underlying BotStateSet. This can be made more efficient by using apply() instead.
[enhancement]

Closing via #497


[KBFS-3226] Fix up disk block cache start state checks

@strib yes, it'll get rid of the stack traces. I believe it'll also set the state of the disk cache to "failed", since that's what I think happened on Chris's machine; we just weren't correctly handling that scenario.


Display circuits and cables in popup

cables and circuits keys are not yet displayed in the popup:

key
value

cables
9

circuits
3

name
Flå - Nes

operator
Glitre Energi

power
line

voltage
132000;66000;66000

way 683260414

Add frequency for each voltage if noted like on https://www.openstreetmap.org/way/46832310

I'd add that frequency should go in circuit relations and not on the physical line.
This requires a formal proposal to be voted on, but physically the frequency isn't a property of the line but about the electricity the line carries.


Terran building addons need separate queues

Terran building addons are currently replacing the base building when they should be treated as 2 different buildings.

Corrected addon logic to not delete previous building. Now barracks and addon have different build queues.


Some 3D cleanup

What changes are proposed in this pull request?

refactor/clean some scene_3d functions - this was requested in original PR but decided to follow up later. This is that.
add more comprehensive tests
Fix orthographic projection for 2D point cloud all on the projection plane.
Fix write(path, resolve_relative_paths=True) for background image assets.

How is this patch tested? If it is not, please explain why.
Added automated tests.
Manual testing to ensure calls touched still work.
Release Notes
Is this a user-facing change that should be mentioned in the release notes?

[x] No. You can skip the rest of this section.
[ ] Yes. Give a description of this change to be included in the release
notes for FiftyOne users.

What areas of FiftyOne does this PR affect?

[ ] App: FiftyOne application changes
[ ] Build: Build and test infrastructure changes
[x] Core: Core fiftyone Python library changes
[ ] Documentation: FiftyOne documentation changes
[ ] Other

Summary by CodeRabbit

New Features

Added name parameter to the Mesh class constructor.
Introduced _asset_path_fields attribute to various 3D model classes.
Enhanced asset path retrieval methods for improved 3D object integration.
Updated point cloud bounding box calculations for more accurate spatial analysis.

Refactor

Optimized asset path resolution and node type counting in 3D scenes for improved performance and readability.

Bug Fixes

Corrected attribute renaming in FbxMesh to align with functionality.

LGTM. I'll add some e2e tests today as well.


Disable Rails/SkipsModelValidations cop

This cop errors if we use any of the methods listed in http://guides.rubyonrails.org/active_record_validations.html#skipping-validations but there are lots of good reasons to do so for performance reasons, or object lifecycle reasons (particularly in migrations, but elsewhere too) so we turn this cop off.

Can you provide an example where we're using this please, for context?

would it make more sense top only skip the validations by default in the db folder and have it enabled elsewhere. Then disable on a project-specific basis elsewhere if required?

Some places we use these methods that aren't tests or migrations:
https://github.com/alphagov/content-tagger/blob/e2a5541ad3f63ebca29f702d5e5a7ff12fdb0a12/app/workers/lookup_content_id_worker.rb#L7
https://github.com/alphagov/support-api/blob/3beb8b0278f75f02faa65090656af4b0e5b667b3/app/workers/content_item_populate_doctype_worker.rb#L13
https://github.com/alphagov/gds-sso/blob/a554361d89924b97ec6f689e697c3d382b147f3e/lib/gds-sso/user.rb#L27 && https://github.com/alphagov/gds-sso/blob/a554361d89924b97ec6f689e697c3d382b147f3e/lib/gds-sso/user.rb#L31
https://github.com/alphagov/whitehall/blob/27d2a116f1023dedd8ea52f5b95c2aaacd654c58/app/controllers/admin/governments_controller.rb#L43-L47
https://github.com/alphagov/signon/blob/6d5c34c105c522bca3efea6c483185d6a56f801f/app/models/bulk_grant_permission_set.rb#L40
https://github.com/alphagov/signon/blob/d56e25d6feb94c82c136689746dc19b2c7b858bb/test/helpers/token_auth_support.rb#L8-L9
https://github.com/alphagov/whitehall/blob/19cd7d72de32454d532c195f35b027fa1b3ba6ac/lib/analytics_identifier_populator.rb#L12
https://github.com/alphagov/transition/blob/29caa41adaacf6efa46781428d24910af71b4f6d/app/models/mappings_batch.rb#L52 && https://github.com/alphagov/transition/blob/29caa41adaacf6efa46781428d24910af71b4f6d/app/models/mappings_batch.rb#L57-L64
This list is not exhaustive (because I got exhausted looking) but I think it suggests we use these methods in production code.  I'm not suggesting none of these couldn't be re-written to avoid it, but I'm not 100% clear on why rubocop thinks we should never use these methods.  Feels like it's the kind of thing where, yes, you should know that these methods avoid validations and write to the DB immediately, but that's not a reason to not use them (or fail a build because you do).
FWIW This was triggered for me in publisher by the lines in this test https://github.com/alphagov/publisher/blob/master/test/integration/edition_workflow_test.rb that I've editted.  This test (and others in publisher) use update_attribute a lot, and while I think they could be re-written to avoid it, I'm not sure it's worth it when I think about what the cop is telling us.


fix: fixed a triffle example grammar error

Add a "曰" before "「「」」".
The grammar error in this example causes my reverse parser's test failed

Hi, thanks for pointing out.
This example is a quine, meaning that its output needs to look exactly same as the program itself.
Unfortunately with your additional character it no longer qualifies as a quine. @woodrush wrote this magical thing and I have no idea how to fix it. Perhaps you need to look into the long string literal and add that 曰 there.
Also, I think you don't need to worry too much about testing your reverse parser agianst quine and quine2. They're really cool but also quite unconventional and use some hacks to work.
Please see if you can make it quine agian :) I'll gladly accept your PR then. Thank you very much!

Oh, sorry, I forget that! Thanks for your patient explanation.

Looks good. Thanks a lot!

NP 😁


Seek Forward/Backward for Music Tracks

Absolutely LOVE this extension since it allows me to globally control Spotify's Web Player without needing to put focus on the tab.
I was really hoping the "Podcast: seek backward" and Podcast: seek forward" shortcut keys would also work for seeking audio tracks but they don't. The Spotify Web Player has it's own built-in shortcut for seeking (Shift + Arrow Left) and (Shift + Arrow Right), but they only work when the tab is active. Is there anyway to request this feature so I can seek tracks globally?
Thank you so much for making this. :)

Thanks for the kind words and suggestion.
I've implemented generalized seek shortcuts (using the same shortcuts as podcasts) in the latest version (1.2.0). Google should review that within the next 24 hours, so watch out for the latest update!

WOW! Talk about outstanding response time. I really appreciate you updating the changes so fast. :smile:

I don't always have the time – caught me on a good day. :wink: You're most welcome!


lock issues prevent capture of payment

hello,
In our high-traffic environment, it's often the case that a lock cannot be obtained, resulting in an uncaptured order.
Would it be possible to add the payment ID to the lock identifier to avoid errors with parallel payments, or could this lead to overwritten payments?
https://github.com/CommerceWeavers/SyliusSaferpayPlugin/blob/main/src/Processor/SaferpayPaymentProcessor.php#L28

I've looked deeper into the case, and I think the lock is not the fault but "processing" is set to true, so a PaymentBeingProcessedException is thrown. When this happens in the PrepareAssertAction it repeats 100 times and then a redirect happen.
I'm not sure what happened after the redirect. The only thing I can say is that there is no capture call.
I'll try to provide more information, but at the moment I'm a bit limited in what I can debug and have to wait for the customer to provide me with new "failed" orders.

So after more debugging the problem seems to be that a google "Read-Aloud" assistant is accessing the order/{TOKEN}/pay link. this happened at all failed orders.  And would also cause the multiple payment page init requests mentioned by the Saferpay customer support.
sorry for this confusing ticket

Hey Daniel!
I'm sorry for not getting back to you sooner. Could you tell me more about the traffic that you are having that causes this issue? It would help me to reproduce your issue. The main problem is related to the fact that some of your orders cannot be closed due to the locking exception. Did you try it out with the payment ID being part of the lock name? Can we make a fork of the code, try it out and see if the problem remains and if not, we will backport that change to the main repository?

Hi lukasz,
the lock is not the problem like I thought in the beginning. In the log where multiple messages about the lock but the problem is not there. sorry for the misleading information.
The real problem happens when the order/{TOKEN}/pay URL is called multiple times. Because in https://github.com/CommerceWeavers/SyliusSaferpayPlugin/blob/main/src/Payum/Action/AuthorizeAction.php#L53 every call to this URL overrides the Saferpay token on the payment.
If the user calls the URL in the browser there is no problem because he will finished the order with the last token, but like I mentioned in my last comment, the flow is that the user completes the order and is redirected to the payment page, but at the same time the "google read aloud" bot calls also the pay URL and this leads to a wrong token in the database. When the user finished the payment on the payment page and is redirected to the shop, the assert call uses the "last" Saferpay token which is not the correct one for the first payment page init call, so Saferpay returns a error response.
As quick fix we have blocked the Read-Aloud bot on the order pay route, after that the last response from the customer is that there are no more unfinished authorized payments.
But I think this workaround is not the correct approach because every other bot/app could call the URL in the background.
I think at this point there somehow should be a lock process, that the Saferpay init call is only processed once for each payment.
I hope this will help, for any questions feel free to ask :)


Lots of errors when building xgboost on Windows 10

Environment info
Operating System: Windows 10 Home 64 bit
Compiler: Mingw-w64, x86_64-7.1.0-posix-seh-rt_v5-rev0
Package used: python 3.6, Anaconda 4.3.1 64-bit (just downloaded from https://www.continuum.io/downloads )
xgboost version used: Not sure, v0.6? It should be the newest version. I used "git clone --recursive https://github.com/dmlc/xgboost" to get it.
I followed the installation guide at http://xgboost.readthedocs.io/en/latest/build.html
In a git bash, I did:
git clone --recursive https://github.com/dmlc/xgboost
git submodule init
git submodule update
alias make='mingw32-make'
cd /c/Users/m/code/xgboost
cp make/mingw64.mk config.mk; make -j4
I got the message:
g++ -m64 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp -MM -MT build/data/sparse_page_raw_format.o src/data/sparse_page_raw_format.cc >build/data/sparse_page_raw_format.d
g++ -m64 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp -MM -MT build/data/simple_dmatrix.o src/data/simple_dmatrix.cc >build/data/simple_dmatrix.d
g++ -m64 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp -MM -MT build/data/data.o src/data/data.cc >build/data/data.d
g++ -m64 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp -MM -MT build/data/simple_csr_source.o src/data/simple_csr_source.cc >build/data/simple_csr_source.d
g++ -m64 -c -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp src/data/simple_csr_source.cc -o build/data/simple_csr_source.o
g++ -m64 -c -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp src/data/sparse_page_raw_format.cc -o build/data/sparse_page_raw_format.o
g++ -m64 -c -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp src/data/data.cc -o build/data/data.o
g++ -m64 -c -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -DDMLC_ENABLE_STD_THREAD=0  -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fopenmp src/data/simple_dmatrix.cc -o build/data/simple_dmatrix.o
In file included from src/data/data.cc:9:0:
src/data/./sparse_batch_page.h:238:46: error: 'function' is not a member of 'std'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
In file included from src/data/sparse_page_raw_format.cc:8:0:
src/data/./sparse_batch_page.h:238:46: error: 'function' is not a member of 'std'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
src/data/./sparse_batch_page.h:238:46: note: suggested alternative: 'is_function'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
is_function
src/data/./sparse_batch_page.h:238:46: error: 'function' is not a member of 'std'
src/data/./sparse_batch_page.h:238:46: note: suggested alternative: 'is_function'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
is_function
src/data/./sparse_batch_page.h:238:77: error: template argument 2 is invalid
std::function<SparsePage::Format* ()> > {
^
src/data/./sparse_batch_page.h:238:79: error: expected '{' before '>' token
std::function<SparsePage::Format* ()> > {
^
src/data/./sparse_batch_page.h:238:79: error: expected unqualified-id before '>' token
src/data/./sparse_batch_page.h:238:46: note: suggested alternative: 'is_function'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
is_function
src/data/./sparse_batch_page.h:238:46: error: 'function' is not a member of 'std'
src/data/./sparse_batch_page.h:238:46: note: suggested alternative: 'is_function'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
is_function
src/data/./sparse_batch_page.h:238:77: error: template argument 2 is invalid
std::function<SparsePage::Format* ()> > {
^
src/data/./sparse_batch_page.h:238:79: error: expected '{' before '>' token
std::function<SparsePage::Format* ()> > {
^
src/data/./sparse_batch_page.h:238:79: error: expected unqualified-id before '>' token
In file included from dmlc-core/include/dmlc/././parameter.h:25:0,
from dmlc-core/include/dmlc/./registry.h:14,
from dmlc-core/include/dmlc/data.h:16,
from include/xgboost/data.h:11,
from src/data/./simple_csr_source.h:12,
from src/data/simple_csr_source.cc:7:
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'dmlc::optional::~optional() [with T = int]':
dmlc-core/include/dmlc/././parameter.h:513:7:   required from here
dmlc-core/include/dmlc/./././optional.h:60:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reinterpret_cast<T*>(&val)->~T();
^~~~~~~~~~~~~~~~
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::value() const [with T = int]':
dmlc-core/include/dmlc/././parameter.h:872:9:   required from here
dmlc-core/include/dmlc/./././optional.h:106:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/data.h:16:0,
from include/xgboost/data.h:11,
from src/data/sparse_page_raw_format.cc:6:
dmlc-core/include/dmlc/./registry.h:247:55: error: invalid use of incomplete type 'struct xgboost::data::SparsePageFormatReg'
::dmlc::Registry::Get()->REGISTER(#Name)
^
src/data/./sparse_batch_page.h:254:3: note: in expansion of macro 'DMLC_REGISTRY_REGISTER'
DMLC_REGISTRY_REGISTER(::xgboost::data::SparsePageFormatReg, SparsePageFormat, Name)
^~
src/data/sparse_page_raw_format.cc:93:1: note: in expansion of macro 'XGBOOST_REGISTER_SPARSE_PAGE_FORMAT'
XGBOOST_REGISTER_SPARSE_PAGE_FORMAT(raw)
^
In file included from src/data/sparse_page_raw_format.cc:8:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^
In file included from dmlc-core/include/dmlc/data.h:16:0,
from include/xgboost/data.h:11,
from src/data/sparse_page_raw_format.cc:6:
dmlc-core/include/dmlc/./registry.h:247:55: error: invalid use of incomplete type 'struct xgboost::data::SparsePageFormatReg'
::dmlc::Registry::Get()->REGISTER(#Name)
^
src/data/./sparse_batch_page.h:254:3: note: in expansion of macro 'DMLC_REGISTRY_REGISTER'
DMLC_REGISTRY_REGISTER(::xgboost::data::SparsePageFormatReg, SparsePageFormat, Name)
^~
src/data/sparse_page_raw_format.cc:93:1: note: in expansion of macro 'XGBOOST_REGISTER_SPARSE_PAGE_FORMAT'
XGBOOST_REGISTER_SPARSE_PAGE_FORMAT(raw)
^
In file included from src/data/sparse_page_raw_format.cc:8:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::operator*() const [with T = int]':
dmlc-core/include/dmlc/./././optional.h:134:11:   required from 'std::ostream& dmlc::operator<<(std::ostream&, const dmlc::optional&) [with T = int; std::ostream = std::basic_ostream]'
dmlc-core/include/dmlc/././parameter.h:877:13:   required from here
dmlc-core/include/dmlc/./././optional.h:97:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/././parameter.h:25:0,
from dmlc-core/include/dmlc/./registry.h:14,
from dmlc-core/include/dmlc/data.h:16,
from include/xgboost/data.h:11,
from src/data/sparse_page_raw_format.cc:6:
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'dmlc::optional::~optional() [with T = int]':
dmlc-core/include/dmlc/././parameter.h:513:7:   required from here
dmlc-core/include/dmlc/./././optional.h:60:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reinterpret_cast<T*>(&val)->~T();
^~~~~~~~~~~~~~~~
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::value() const [with T = int]':
dmlc-core/include/dmlc/././parameter.h:872:9:   required from here
dmlc-core/include/dmlc/./././optional.h:106:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/data.h:16:0,
from include/xgboost/data.h:11,
from src/data/sparse_page_raw_format.cc:6:
dmlc-core/include/dmlc/./registry.h: In instantiation of 'EntryType& dmlc::Registry::REGISTER(const string&) [with EntryType = xgboost::data::SparsePageFormatReg; std::__cxx11::string = std::cxx11::basic_string]':
src/data/sparse_page_raw_format.cc:93:1:   required from here
dmlc-core/include/dmlc/./registry.h:80:20: error: invalid use of incomplete type 'struct xgboost::data::SparsePageFormatReg'
EntryType e = new EntryType();
^~~~~~~~~~~~~~~
In file included from src/data/sparse_page_raw_format.cc:8:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/data.h:16:0,
from include/xgboost/data.h:11,
from src/data/sparse_page_raw_format.cc:6:
dmlc-core/include/dmlc/./registry.h:81:8: error: invalid use of incomplete type 'struct xgboost::data::SparsePageFormatReg'
e->name = name;
~^~
In file included from src/data/sparse_page_raw_format.cc:8:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^~~~~~~~~~~~~~~~~~~
src/data/data.cc: In static member function 'static xgboost::data::SparsePage::Format xgboost::data::SparsePage::Format::Create(const string&)':
src/data/data.cc:281:12: error: invalid use of incomplete type 'const struct xgboost::data::SparsePageFormatReg'
return (e->body)();
^~
In file included from src/data/data.cc:9:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^~~~~~~~~~~~~~~~~~~
src/data/data.cc:281:14: error: invalid use of incomplete type 'const struct xgboost::data::SparsePageFormatReg'
return (e->body)();
^~~~
In file included from src/data/data.cc:9:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/././parameter.h:25:0,
from dmlc-core/include/dmlc/./registry.h:14,
from dmlc-core/include/dmlc/data.h:16,
from include/xgboost/data.h:11,
from src/data/sparse_page_raw_format.cc:6:
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::operator*() const [with T = int]':
dmlc-core/include/dmlc/./././optional.h:134:11:   required from 'std::ostream& dmlc::operator<<(std::ostream&, const dmlc::optional&) [with T = int; std::ostream = std::basic_ostream]'
dmlc-core/include/dmlc/././parameter.h:877:13:   required from here
dmlc-core/include/dmlc/./././optional.h:97:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/././parameter.h:25:0,
from dmlc-core/include/dmlc/./registry.h:14,
from dmlc-core/include/dmlc/data.h:16,
from include/xgboost/data.h:11,
from src/data/data.cc:5:
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'dmlc::optional::~optional() [with T = int]':
dmlc-core/include/dmlc/././parameter.h:513:7:   required from here
dmlc-core/include/dmlc/./././optional.h:60:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reinterpret_cast<T*>(&val)->~T();
^~~~~~~~~~~~~~~~
In file included from src/data/./simple_dmatrix.h:15:0,
from src/data/simple_dmatrix.cc:11:
src/data/././sparse_batch_page.h:238:46: error: 'function' is not a member of 'std'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
src/data/././sparse_batch_page.h:238:46: note: suggested alternative: 'is_function'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
is_function
src/data/././sparse_batch_page.h:238:46: error: 'function' is not a member of 'std'
src/data/././sparse_batch_page.h:238:46: note: suggested alternative: 'is_function'
std::function<SparsePage::Format* ()> > {
^~~~~~~~
is_function
src/data/././sparse_batch_page.h:238:77: error: template argument 2 is invalid
std::function<SparsePage::Format* ()> > {
^
src/data/././sparse_batch_page.h:238:79: error: expected '{' before '>' token
std::function<SparsePage::Format* ()> > {
^
src/data/././sparse_batch_page.h:238:79: error: expected unqualified-id before '>' token
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::value() const [with T = int]':
dmlc-core/include/dmlc/././parameter.h:872:9:   required from here
dmlc-core/include/dmlc/./././optional.h:106:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/data.h:16:0,
from include/xgboost/data.h:11,
from src/data/data.cc:5:
dmlc-core/include/dmlc/./registry.h: In instantiation of 'dmlc::Registry::~Registry() [with EntryType = xgboost::data::SparsePageFormatReg]':
src/data/data.cc:21:1:   required from here
dmlc-core/include/dmlc/./registry.h:118:7: warning: possible problem detected in invocation of delete operator: [-Wdelete-incomplete]
delete entry_list[i];
^~~~~~
dmlc-core/include/dmlc/./registry.h:118:7: warning: invalid use of incomplete type 'struct xgboost::data::SparsePageFormatReg'
In file included from src/data/data.cc:9:0:
src/data/./sparse_batch_page.h:236:8: note: forward declaration of 'struct xgboost::data::SparsePageFormatReg'
struct SparsePageFormatReg
^~~~~~~~~~~~~~~~~~~
In file included from dmlc-core/include/dmlc/data.h:16:0,
from include/xgboost/data.h:11,
from src/data/data.cc:5:
dmlc-core/include/dmlc/./registry.h:118:7: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
delete entry_list[i];
^~~~~~
In file included from dmlc-core/include/dmlc/././parameter.h:25:0,
from dmlc-core/include/dmlc/./registry.h:14,
from dmlc-core/include/dmlc/data.h:16,
from include/xgboost/data.h:11,
from src/data/data.cc:5:
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::operator*() const [with T = int]':
dmlc-core/include/dmlc/./././optional.h:134:11:   required from 'std::ostream& dmlc::operator<<(std::ostream&, const dmlc::optional&) [with T = int; std::ostream = std::basic_ostream]'
dmlc-core/include/dmlc/././parameter.h:877:13:   required from here
dmlc-core/include/dmlc/./././optional.h:97:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:117: recipe for target 'build/data/sparse_page_raw_format.o' failed
mingw32-make: *** [build/data/sparse_page_raw_format.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
In file included from dmlc-core/include/dmlc/././parameter.h:25:0,
from dmlc-core/include/dmlc/./registry.h:14,
from dmlc-core/include/dmlc/data.h:16,
from include/xgboost/data.h:11,
from src/data/simple_dmatrix.cc:7:
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'dmlc::optional::~optional() [with T = int]':
dmlc-core/include/dmlc/././parameter.h:513:7:   required from here
dmlc-core/include/dmlc/./././optional.h:60:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reinterpret_cast<T*>(&val)->~T();
^~~~~~~~~~~~~~~~
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::value() const [with T = int]':
dmlc-core/include/dmlc/././parameter.h:872:9:   required from here
dmlc-core/include/dmlc/./././optional.h:106:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dmlc-core/include/dmlc/./././optional.h: In instantiation of 'const T& dmlc::optional::operator*() const [with T = int]':
dmlc-core/include/dmlc/./././optional.h:134:11:   required from 'std::ostream& dmlc::operator<<(std::ostream&, const dmlc::optional&) [with T = int; std::ostream = std::basic_ostream]'
dmlc-core/include/dmlc/././parameter.h:877:13:   required from here
dmlc-core/include/dmlc/./././optional.h:97:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<const T>(&val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:117: recipe for target 'build/data/data.o' failed
mingw32-make: *** [build/data/data.o] Error 1
Makefile:117: recipe for target 'build/data/simple_dmatrix.o' failed
mingw32-make: *** [build/data/simple_dmatrix.o] Error 1
I also tried the steps at https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=ru
added:
$ cd dmlc-core
$ make -j4
$ cd ../rabit
$ make lib/librabit_empty.a -j4
$ cd ..
before:
$ cp make/mingw64.mk config.mk
$ make -j4
Still, the same errors.
Please help!

having exactly the same problem

Looking at the errors, I think they should be fixed by #2256. Could you try it our and lmk about the results?

Was having the same issues on Windows 7. I tried out #2256 (along with the fix to '/src/data/sparse_batch_page.h' suggested by ClimberPG) and was able to build successfully.


Get the pipeline back into a working state

This is mostly stuff Robert and I worked on together (the salvaged remains of #239) plus enough to get the tests passing again, so merging by fiat.


How to generate prediction file for sharetask?

Hi!
I am working on the sharetask and am wondering is there existing script in the repo to generate files like the sample predictions file included in the sharedtask folder?
Thanks a lot!

Hi,
Thank you for the question!
We don't provide a script for generating prediction file in the format as there is no restriction on the final output format, which could be different from one another.
However, in case of the exact output by run_eval_rag_e2e.sh by the baseline code in this repo,
there needs to be a "qid.txt" and "predictions.txt" that are mapped with the "$split.source" by line number,
then we could do something like this,
import json out = [] with open('predictions.txt') as fp_p:     with open('ids.txt') as fp_id:         for id_, text in zip(fp_id, fp_p):             out += [{'id': id_.strip(), 'utterance': text.strip()}] json.dump(out, open('output.json', 'w'), indent=4)
Does it make sense?
Thanks,
Song

Hi Song,
Thanks so much for the reply! I truly appreciate your help!
It makes sense to me now how to generate custom prediction file using output generated by run_eval_rag_e2e.sh.
Another quick question I have is: it seems that the sharetask input file mdd_dev_pub.json I downloaded from the competition is of slightly different format than what the baseline model takes (namely, there is no references or da as keys in a turn ). Wondering is the current script of the baseline model compatible to evaluate using those input and to generate prediction or is it something we have to customize?
Thanks,
Danny

Hi Danny,
For the files (e.g. mdd_dev_pub.json) provided at leaderboard website, they are meant for evaluation or test time, when annotations such as da and references are not available. So, only the conversational utterances are provided as input. For the current baseline model, da or references are not used to predict utterance.
However, a model could utilize those annotations during training in certain ways, but it will also need to predict them during test time along with or before the generation of utterance.
Let me know if there is any question!
Thanks~
-Song

Hi Song,
That all makes senses! Thanks for your help!
Best,
Danny

Hi Song,
Can I ask another question? Based on my current understanding, run_eval_rag_re.sh will not output grounding prediction (as needed in sharedtask), but only output retrieval on document level. I am wondering how to generate grounding prediction on a token level using this baseline model? Thanks a lot!
Best,
Danny

Hi Danny,
It might help clarify to refer to Section 2.2.1 in the paper.
As indicated in the data processing script, we can set $task as either grounding or generation, where grounding corresponds to the task on predicting the grounding span.
Feel free to ping if there is any question! Thanks.
-Song

Hi Song,
Thanks for your reply! Yes I have fine-tuned the model on both tasks. Could you clarify one more thing for me? To reproduce results of Table 4 (Evaluation results of Task I on grounding span generation task) in your paper, I should still set the argument --eval_mode to be e2e instead of retrieval. (I think this was what confused me before) Let me know if this is right! Thanks so much!
Best,
Danny

Hi Danny,
For the evaluation, --eval_mode is the setting for evaluation metrics, not for the task. For evaluation metrics, e2e corresponds to text generation metrics such as sacrebleu while retrieval corresponds to the retrieval metrics such as recall@n at passage level or document level.
What might be helpful to emphasize, our tasks in the our MultiDoc2Dial paper are "predicting" grounding content or utterance, using the same approach, a "retriever-reader" model. Even though the prediction is on grounding span, the approach still uses BART model (see RAG paper) to generate, not retrieve the span.
Thanks,
Song

Hi Song,
Thanks! That makes sense, especially your clarification that the baseline is "predicting" the grounding content by a generator instead of predicting the (start,end) indices on actual document spans. Really appreciate your help!!
Best,
Danny


IDX generation using  rand() is not fit for YGM

When generating the random index array in CT_YGM::AllocateData, referred to as IDX in the circustent paper, rand() will not suffice for generating the indices. The largest value it can generate is<PHONE_NUMBER>.
For a large VAL array, this is a serious problem. All of the indices will be focused at lower ranks and send all of the operations to a few processes at the start of the allocation.
For example, if we use a VAL memory size parameter of<PHONE_NUMBER> as described in the original paper:
|        The number of indexable uint64_t elements on each rank is:
|<PHONE_NUMBER> / 8 = 250000000.
|
|        Now, how many 250000000 element arrays can possibly be addressed if we use rand()?
|        Well, if<PHONE_NUMBER> is the largest index we can generate, then we are sending all of our operations to the first
|        integer_ceiling(2147483647 / 250000000)  = 8.589934588.
|
| So we are only sending operations to the first 9 ranks.
Obviously this is a flaw that prevents any productive use of the YGM port. I will get a solution written and pushed before the weekend.
I apologize for the delay in finding this error, it was only suspected to be a problem after getting scaling data on the flawed implementation.

Solved by using std::mt19937_64 random number engine with std::uniform_int_distribution to generate values in the IDX array. This will uniformly sample values in the range [0, (pes * elems) - 1] for benchmarks where IDX values should be VAL indices, or values in the range [0, (pes * (iters + 1)) - 1] for the PTRCHASE kernels. IDX is not used by the CENTRAL and STRIDE1/N Kernels

Solved by using std::mt19937_64 random number engine with std::uniform_int_distribution to generate values in the IDX array. This will uniformly sample values in the range [0, (pes * elems) - 1] for benchmarks where IDX values should be VAL indices, or values in the range [0, (pes * (iters + 1)) - 1] for the PTRCHASE kernels. IDX is not used by the CENTRAL and STRIDE1/N Kernels


Added NIC logging and broadcasting for every packet.

Should be narrowed later.

Addressed these issues, amended and pushed.


when clicking on "back" button while the chat is open, show confirm just like for closing

Taken from https://github.com/kiwicom/smart-faq/issues/725

:tada: This issue has been resolved in version 1.10.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

💯


AL languages internal cache is not always correctly refreshed

1. Describe the bug
The AL language editor host executable has an internal cache where it holds things like referenced symbols and project symbols and so on. I assume for performance reasons. This cache however is not always refreshed correctly and requires the user to run a "Reload Window" or reload the entire project workspace to refresh it.
I have a few scenarios where this happens and is a problem for me:

When I externally download symbols they are not detected by AL language.
Modifying the app.json triggers a cache refresh, but only when done so from inside VS Code. If app.json is modified externally, AL language does not detect a change to it and thus does not refresh anything.
Switching branches in git causes the cache of the AL language to become stale. The symbols in it's cache still refer to the old version of my objects. This until I either reload the project (as described above) or I open the object in question. This however refreshes the cache for this object only.

2. To Reproduce
Steps to reproduce the behavior:
Scenario 1:

Download a symbol package manually from somewhere and place it in the .alpackages folder.
The new symbol package is not detected.

Scenario 2:

Use a project with a dependency to an app that you already have in your .alpackages folder.
Update the minimum version to something higher that is not available.
You correctly get an error stating that symbols are missing.
Externally modify app.json and reset the version to what it was before.
The symbol is still missing according to AL language.

Scenario 3:

Work on a feature branch where you removed a method from an object.
Close the editor for that object.
Switch back to a different branch where the method from 1 still exists.
Go to a different object and reference this method.
AL language argues that this method does not exist, but it does.

3. Expected behavior
Option 1: detect file changes even when made from outside the project. There are numerous tools around now that interface with AL projects, tying it's caching mechanism to only what happens under AL languages watch is very limiting. You could, for example, bind this to the app.json file only. Anyone who wants to cause a cache refresh from outside VS Code then just has to touch that file and you would not have to watch all project files for changes.
Option 2: give us a command that let's us explicitly cause a cache refresh without having to reload the entire editor. This command would then also be required to be callable from other extensions, pretty please.
4. Actual behavior
The cache often becomes stale and requires me to reload my editor, causing lots of reload times.
5. Versions:

AL Language: 15.0.1177813
Visual Studio Code: 1.95.1
Business Central: n/a
Operating System:

[x] Windows
[ ] Linux
[ ] MacOS
Internal work item: AB#556873

As far as symbols go, I do think it is (somewhat) a caching problem:

At the end of the symbol download command the symbols are invalidated in the MemoryCachedSymbolReferenceLoader using InvalidateDependencies.
After doing so, UpdateSymbolReferences is called on VsCodeWorkspace and thus reloading the ones that were just downloaded.

If we had a command in VSCode that would replicate this, at least the symbols could be manually refreshed.
As far as the source files go, I did not investigate and that is surely a different kind of behaviour / issue.

I'd say this (or similar effects) doesn't just happen around external changes, but also often happens with changes in VS code.
It might be related to / occur more often in big projects with a lot of files, but in my opinion thats no excuse for it to happen.
#1
Sometimes when adding a line to a block of single line comments, the editor starts syntax-highlighting parts of the following code like a comment too.. (and it doesn't recover unless you reload)
#2
Often, when partially writing a variable name in a function block and choosing the intellisense completion, the editor still complains about the partial variable name not being known. And it can take quite a long time to recognize the variable name in the code block has been completed. Even saving the file doesn't trigger an instant full reparse of the current file. (which could probably solve the problem as long as that action doesn't get stuck in a queue thats still busy processing incomplete / outdated information)
If you write more of the variable name yourself you can sometimes watch the editor slowly catch up to what you have typed in multiple steps, but it is really unnecessarily slow..
#3
When anything like that happens, the intellisense also often breaks.
E.g. hovering stuff might then just produce a "Loading..." tooltip, and peek/goto no longer works.. And it is just faster to simply reload the whole program/project than to wait for the AL language extension to continue working as expected.. I'm probably reloading my project at least once every 5 minutes to fix random issues with the AL language extension and it's understanding of the symbols in my dependencies/application, because it is just faster and less buggy..
...
But even small workspaces with e.g. <20 files can take upwards of 2 minutes to be fully loaded with just 6MB of base application symbol packages.. (e.g. with 8 cores, enough RAM and an SSD - thats crazy slow)
I expect a lot of that probably comes from most of the extension being coded in JS..?
(aside from the actual compiler and some extra command line tools)
If JS is the only interface that can directly talk to VS code from an extension, why not just use JS to wrap a native or managed DLL that contains the actual functionality, instead of having the world coded in JS (4MB+?!) and local performance slow like in the cloud or a browser..
What does the extension even do self-initializing for 400ms even before starting to load any workspace data..? (maybe telemetry-ception or sending a webrequest to openAI to generate some more bloat to include in the JS files?)

@HiddenDude what you're talking about is something entirely different and what you're describing sounds like a bug.
I just tried the MS base app and could open it and load it in around 2 minutes, so 2 minutes for 20 files sounds like the language server gets stuck somewhere.
This is even more apparent by the symptoms you are describing. It's not about tracking changes, if goto definition and intellisense gets slow that means that the compilation is not being generated fast enough, not that changes are being missed.
I'd suggest trying this out (especially the troubleshooting part and setting code analysis to file) to see if there's some analyzer rule eating up all the cpu:
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-code-analysis-performance-configuration
If that doesn't fix it, the next step would be to try turning off other performance impacting features especially if everything is so slow that you are not using it.
I'd suggest turning off other AL related extensions, code lens and finally code actions and seeing if that makes a difference.
If it's the last two that helps or nothing helps, I'd appreciate if you share some example project where the language server gets borked so we can look at it.
However, please share the details in a new issue so as not to cause noise on this one.


Create README.md on clear-intermediate-macros

Just suggested a few changes on the text. Also, have you check with the macro the behavior of the different cases we quote on the "dependencies" section? Let's ensure this is all true before merging

Thanks for your comments @JaneBellaiche. I'm planning to go over these either Thursday or Friday.

@JaneBellaiche I readded the README.md. I think all comments should be covered now in commit: c413a3281a5dc546ca2c426a0726efd8f26e50c3


dart2js: improve js-interop on DOM elements

We'd like to improve the experience of using js-interop with existing types from dart:html.
Common use cases are:

an API in dart:html is not up to date or excludes something that is only available on a subset of browsers, so a developer wishes to use js-interop to access it
an API in dart:html is hidden, and users want to create their custom API to the same type.

Currently this is not supported via @JS because dart2js keeps js-interop types and other native types in separate type hierarchies.
Ideas we've discussed:

merge the type-hierarchies: this is not ideal because (a) is checks will degrade (any DOM type will answer true if asked is Foo where Foo is a js-interop type, (b) dynamic calls are more silent (any DOM type will accept dynamic calls on any method defined on any js-interop type).

no overlapping types: consider matching the @JS(name) annotation with the native names and complain if a native name from dart:html is used. This would visibly report an implicit issue we already have today. I don't believe we can do so without breaking compositionality of dart libraries in the future, though: if one library is developed using entirely js-interop and another library imports it and it separately imports dart:html, then we risk errors only coming up on that downstream dependency that combines the two libraries in one program. Today we have avoided this compositionality issue because dart:js indirectly imports dart:html.

match and implement types: consider matching the @JS(name) annotation with the native names and treat the js-interop type as an interface implemented by the dart:html type. If we do this, we likely want to restrict the js-interop class to be empty (so we don't add methods to the DOM class), but instead require users to use external js-interop extension methods on their Js-interop type.  If we matched types, we could get code like the following to print true:

@JS('DIVElement')
class MyDiv {
}
main() {
  print(document.createElement('div') is MyDiv);
}

Open question: could js-interop types extend from one another to support patching DOM type hierarchies? This could come in tension with other ideas about sealing them in the future.

external js-interop extension emthods on DOM: add support for static JS-interop extension methods on both JS-interop and DOM elements.

Hit this in https://github.com/dart-lang/sdk/issues/39531 in the context of trying to create a package:html completely outside of dart:html.

any news on this?

/cc @srujzs
Thanks @jodinathan for following up.
We made some progress here, but we are not done (we are not happy with the state we are in either).

@srujzs added support for the no overlapping types approach described above (this is why you got an error in https://github.com/dart-lang/sdk/issues/46248). It was a first step to detect issues, which some users were running into in more surprising ways at runtime (e.g. cast errors).

Regarding external js-interop extension methods on DOM - we don't support yet external methods, but we do support extension methods that use js_util. This provides a pretty low-level building block, but many users have found this to be sufficient to fill the gap between the current dart:html implementation and a feature they may be missing. This is what that would look like for a hypothetical IncompleteAPI example:

import 'dart:html' show IncompleteAPI;
import 'dart:js_util' as js_util;

extension IncompleteAPIExtra on IncompleteAPI {
   int get foo => js_util.getProperty(this, 'foo'); // now IncompleteAPI has this missing property.
}

More generally, we are revamping js-interop and our updated design should avoid these issues in the future. We don't have a precise timeline on when it would land, so in the meantime, we are committed to fix or help find workarounds for blocking issues.
We'll follow up shortly on the other bug with more questions, too. Hopefully we can get a better picture of what are your requirements and how we can help unblock you.


This extension forces minimap each time workspace reloads

No matter what settings you have

default = false
no setting in workspace settings.json
enabled = false in settings.json

Each time the workspace (re)loads, the minimap.enabled setting is added if not there, and always set to true.
This is very unfriendly behavior, for people who couldn't care less about the minimap. Please, can you bring back the non-map?

Stop to reproduce:

Install this extension.
Open VSCode with project.
.vscode folder will be automatically created.
Remove .vscode folder.
Reopen VSCode.
Always same as step 3.

We are looking into publishing a fixed version of this extension.

We published a new version of this extension that no longer writes to workspace settings.

Thank you - it works now. (Also confirming that the whole embarrassing activate body is now commented out)


Wizard for product definitions - job side

This is the "job" part of #11.
!story G1.5
!component Client UI

See comment in issue 13.  This is mostly done and tested on the job side and have shown a job flow through the system that cuts/exports from a tilestore.


Feature Request: Apply to Login Screen as well

As the title says: I would like to hide the clock on the login screen as well as when logged in. Is that possible?

Just saw this, I will attempt to incorporate it within the following weeks!


Is it possible to make remove the padding at the bottom?

It feels like there's a lot of wasted space at the bottom. Is it possible to make it more slim?

Hm, it seems like it's a issue with my terminal emulator itself. I've never noticed it before. :|

@Hund I am using Gnome Terminal and have the same problem. Did you manage to solve it?

Try with:
:set cmdheight=1


Signing CLA with 2 users (same account)

Hello,
After signing the CLA I get this message:

The first one is my username and the second one is my name.
Am I missing something?
URL: https://github.com/vectorizedio/redpanda/pull/1191
Steps to reproduce the problem:

git config --global user.name "$NAME"
git config --global user.email "$EMAIL"
git commit --amend --author="$NAME <$EMAIL>"
git push --force $REPO $BRANCH

If you compare these two commits:
https://github.com/vectorizedio/redpanda/pull/1191/commits/e127274739b675f0c2e76aafca55139a5ab73ad7
and
https://github.com/vectorizedio/redpanda/pull/1191/commits/53cb3d8937a4b21e337c825ad2e32d2f0cbcbc8f
Then you'll see that GitHub doesn't recognize your user in the first one, but in the second one.
You use different emails in those commits: https://api.github.com/repos/vectorizedio/redpanda/pulls/1191/commits
You should put both email addresses into your github account in order to make GitHub able to assign both commits to the same user.

@KharitonOff thank you for your reply!
I didn't noticed that my other email was also being used...
I've added the one email missing.
Do I need to sign it once again?

After adding the missing email address the issue was solved.


Challenge-response: Fix server response Part 1

When running trustchain-cli cr identity respond, return if request to attestor server is Ok.

For reference: https://github.com/alan-turing-institute/trustchain/blob/ae079f31e9b4e4baddbeed4068dc2d043c2d6321/trustchain-http/src/attestor.rs#L143


standardize health check info

Description
Make searching logs easier by standardizing the health check Info log line... Similar to the redis info: https://github.com/transcom/mymove/blob/9a658ca7f8e6ec0d4f3067997f66f2b4e4100d18/cmd/milmove/serve.go#L326

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 9a658ca7f8e6ec0d4f3067997f66f2b4e4100d18


libreoffice-still: fix build

Motivation for this change
Fix the libreoffice-still build by adding a patch removed in #96474 again.
https://hydra.nixos.org/build/126327404
Things done

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

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

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

CC @dguibert

libreoffice-still builds fine and runs as expected.
LGTM, thanks.


Do data ROOT files need to be pre-mixed?

Hi @hqucms. Really nice code!
I'm wondering about whether the Data ROOT files need to be pre-mixed or if this can run directly on the output of crab jobs, which obviously will have root files divided by sample:
root file from QCD pThat bin 1
root file from QCD pThat bin 1
....
root file from QCD pThat bin 1
root file from Higgs sample 1
...

In the past, I would use the mergeSamples utility from Jan to ensure they were properly mixed up so the training wouldn't see events from just one sample at a time (populating a full batch). Does this take care of that now?
Thanks!
Javier
@cmantill

Hi @jmduarte,
There is no need to mix the input files -- by default the data loader will read a small fraction (e..g., 1%) of events from each input ROOT file, shuffle them, so each batch will get all types of events (for more details please see the options in [0]). However this comes at a slight cost of speed, so if you happen to have pre-mixed files you could also set --fetch-by-files --fetch-step 10 (i.e., read file by file, mix after reading every 10 files) to make it a bit faster.
[0] https://github.com/hqucms/weaver/blob/master/utils/dataset.py#L231-L238
Also in the command line options: https://github.com/hqucms/weaver/blob/master/train.py#L30-L35


Extract the title from h1

Currently, the title (used for the navigation) is extracted from the meta information in each of the files. Not providing a title will result in an error (for that matter, not providing meta information results in an error - that is quite hard to read). @joyheron suggested, to extract the title from the h1 tag of the page.
This way, you can use a regular Markdown file, which is probably easier for people new to aiur - and you can use files like the README.md of your project.
We would document this as the main way to provide a title. We would still keep the title meta option for two reasons:

backwards compatibility
for people that want to use a different h1 and title

Implementation notes

The h1 would be extracted using commonmark. We already use it to render the documents, and hook into it for our handling of snippets

As discussed elsewhere, it might be worth making a strict distinction between naked Markdown files (no front matter) and RFC 822-structured files - only the former would use h1 as title, and that's the only metadata they'll have.


git ship: configure to merge instead of squash-merge

The screencast mentions this ability

Ideally this functionality would include a squash into a single commit before merging. Since this has side effects, I guess this needs to be enabled by a configuration setting.

Duplicate of #673, closing this one.


Bump Bijectors to 0.14.0

Following on from https://github.com/TuringLang/Bijectors.jl/pull/337.
I dropped support for 0.13 because 0.13 requires Tapir not Mooncake anyway.
Don't merge yet; the rest of TuringLang needs to be Bijectors-0.14-compatible, and it isn't.
Closes https://github.com/TuringLang/Turing.jl/pull/2385

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.685%

Totals

Change from base Build<PHONE_NUMBER>3:
0.0%

Covered Lines:
1233

Relevant Lines:
1567

💛  - Coveralls


Injects (possibly outdated) .dlls into system PATH

Ruby adds some imporant .dlls into system PATH:
libeay32.dll
libffi-6.dll
libgdbm-3.dll
libgdbm_compat-3.dll
libyaml-0-2.dll
ssleay32.dll
zlib1.dll

Which creates some unusual compatibility problems:
https://github.com/wesnoth/wesnoth/pull/616#issuecomment-205804741
For comparison Git for Windows only adds .exe and msys-2.0.dll files.

So, yes we do in fact dynamically link against those because those are ‘stdlib` libraries and don't need to be loaded all the time.
As for being outdated, also probable. They have to be updated manually, and I barely have time to get a release out.
So, I guess the question is, what kind of solution are you looking for?

@Azolo I am not sure, but it might be that Git executable uses hardcoded relative paths to locate the libraries and dynamically load them.

I can't remember the exact lookup order, but I'm pretty sure that libraries in the executable's folder get looked at before we go looking on the PATH for anything. Which is why if you run ruby when it's not in the PATH the stdlib loading should still work.
But I thought the Git installation got around it by having a cmd folder that is just a script wrapper around the executable.
Which won't work for us in the sane way because of gems.

I don't get why gems can not be loaded dynamically.

It is possible to redirect DLL loading using application manifests. (See https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/3e82b658-e070-4b88-aaf2-0649ddb222d2/how-to-write-manifest-file-to-pick-up-dlls-via-dll-redirection)
That way it is possible to dump all Ruby DLLs into a separate folder outside the PATH and then load them via DLL redirection. It would require no change to the Ruby source code, but the installer and most likely some rubyinstaller tasks have to be changed...

@techtonik gem binstubs have to be loaded into a folder in the path, and Ruby has some expectations with those gem files. In the past we've played with the idea of moving gems into a couple different places. I could never get things to work as expected after doing that though, which also doesn't solve your root problem here.
@daniel-rikowski Those are for Visual Studio linked binaries and look like they come with their own problems. I don't think anything like that would be easily accomplished with mingw.

Those are for Visual Studio linked binaries

That is not 100% correct. True, Visual Studio can auto-generate a manifest, but that doesn't mean it is a VS-only feature or requires a VS runtime library. Any .exe can have a manifest file. Windows itself performs the necessary operations. (Since Windows XP)

look like they come with their own problems

As always :smile:

I don't think anything like that would be easily accomplished with mingw.

As long as MinGW executables use LoadLibrary, it should work. But granted, manually creating manifest files is a tedious job, especially since they are sparsely documented.
There are other ways to get a private DLL folder, for example SetDllDirectory. Unfortunately that would require a patch to the Ruby source code. I don't know how difficult that is, considering the current build process and the internal workings of Ruby.
PS: Here is a great summary on how Windows finds DLLs and how it can be affected: https://github.com/numpy/numpy/wiki/windows-dll-notes

I created a PR.
See https://github.com/oneclick/rubyinstaller/pull/322

This is solved in RI2. See https://github.com/oneclick/rubyinstaller2/commit/b2bd6303206e278cb42e304bdb2525625a6dac46


refactor: convert CRLF to LF

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/ngneat/transloco/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
The repository currently mixes CRLF and LF line breaks.
Issue Number: N/A
What is the new behavior?
All files now use LF (\n) only.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
Find files with CRLF
find . -path ./node_modules -prune -o -type f | xargs file | grep CRLF
Check that the PR does not change anything but line endings
git diff master --ignore-space-at-eol should not show any changes

I've updated to resolve merge conflicts.
Helpful commands:
Find files with CRLF
find . -path ./node_modules -prune -o -type f | xargs file | grep CRLF
Check that the PR does not change anything but line endings
git diff master --ignore-space-at-eol should not show any changes

@itayod, you'd prefer mixing CRLF and LF throughout the project?


Fix the ExpressionFilterOperator

Fix the bug of using inclusive endDocId as exclusive, which causes
matching documents not being selected
TODO: Change filter to always use exclusive endDocId

Codecov Report

Merging #5122 into master will increase coverage by 8.06%.
The diff coverage is 71.42%.

@@             Coverage Diff              @@
##             master    #5122      +/-   ##
============================================
+ Coverage     49.43%   57.49%   +8.06%
  Complexity       12       12
============================================
  Files          1177     1183       +6
  Lines         62225    62369     +144
  Branches       9125     9136      +11
============================================
+ Hits          30758    35861    +5103
+ Misses        29034    23861    -5173
- Partials       2433     2647     +214

Impacted Files
Coverage Δ
Complexity Δ

...core/operator/filter/ExpressionFilterOperator.java
73.04% <71.42%> (+73.04%)
0 <0> (ø)
:arrow_down:

...rg/apache/pinot/core/operator/CombineOperator.java
66.29% <0%> (-2.25%)
0% <0%> (ø)

...ain/java/org/apache/pinot/spi/utils/JsonUtils.java
32% <0%> (-1.34%)
0% <0%> (ø)

...e/pinot/tools/data/generator/SchemaAnnotation.java
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...ache/pinot/tools/data/generator/DataGenerator.java
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...e/pinot/tools/data/generator/GeneratorFactory.java
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...pinot/tools/admin/command/GenerateDataCommand.java
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

.../pinot/tools/data/generator/DataGeneratorSpec.java
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...ot/tools/data/generator/PatternSpikeGenerator.java
0% <0%> (ø)
0% <0%> (?)

...apache/pinot/tools/data/generator/PatternType.java
0% <0%> (ø)
0% <0%> (?)

... and 310 more

Continue to review full report at Codecov.

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


Allow ability to send patches has pure json

Don't rely on a node's prototype for type and version.
This allows patches from the server to be applied to the client

missing tests

Coverage increased (+0.02%) to 97.51% when pulling e1cdeaf255c7b1d9a8f22afc2a816057ab430dc3 on drewlesueur:patches_over_the_wire into 88534bbd34c5befbd1689fc71e2373c9145a9807 on Matt-Esch:master.

For the record, I wrote a separate module to do this: https://github.com/nolanlawson/vdom-as-json


Documentation for command_line.py and public.py using sphinx docstrings

General Checkups

[x] Have you checked that there aren't other open pull requests for the same issue/update/change?
[ ] If your code includes new features and not just bug fixes/copy editing: Did you include new tests?

Description

Related Issue

Example

Hi @madprime @gedankenstuecke @mcescalante I have added documentation for command_line.py and public.py. Please review. Thanks :)


[NSE856] optimize binary buffer allocation

Allocate binary buffer from combine buffer as well
allocate single combine buffer for all partitions

there is no performance difference if we set PreferSpill=true. because the memory is allocated once only


Document default depth

looks like this was done at some point. Added  a test to make sure it works.


Declutter the display error messages by using error.html

Coverage decreased (-1.9%) to 61.386% when pulling eb83428dd650b86b548e6da49d70823460aa49e1 on error-pages into 3b08cdfe3181b4373ff2987dd3818caa90fa6d80 on master.

Coverage decreased (-1.9%) to 61.386% when pulling eb83428dd650b86b548e6da49d70823460aa49e1 on error-pages into 3b08cdfe3181b4373ff2987dd3818caa90fa6d80 on master.


feat(useCountDown): new improved API

📝 Description:
Added a new API that provides more flexibility and also improved the countdown logic
✅ Pull Request Checklist:

[x] Add/Update feature.
[x] Add/Update test.
[ ] Add/Update documentation.
[ ] Add/Update stories in storybook.
[ ] Bug fix.
[x] Is this a breaking change

You nailed it! 💯


Not working

Can you please check why its not working for me, When i click on admin login, it says not found. i followed the installation.

Maybe its .htaccess issue please check it

I do not see .htaccess file

try this https://gist.github.com/keithmorris/3023560

still not working


[InvalidArgumentException]   Database [blog] not configured.

Laravel Version: 5.4.
PHP Version: 7
Database Driver & Version: mysql 5.6

Description:
how to fix this problem?
[InvalidArgumentException]
Database [] not configured.
i can't make migrate

Looks like the database isn't configured in your config/database.php file.

Você deve colocar TENANCY_SYSTEM_CONNECTION_NAME=mysql no seu .env e rodar o comando php artisan tenancy:install. Note que mysql é o nome da sua connection no config/database.php

check if the file exists

database.php file is hex file because I use sqlite.

Looks like the database isn't configured in your config/database.php file.

because I use sqlite.

Shit! After Debugging the whole day, I solve the problem just run this piece of code.
php artisan config:cache


OBSProject.OBSStudio version 27.1.2

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

OBS was updated to newer version and installer links in this PR are no longer functional.


Videos reestricted on Rule34.US

Bug description
As the title says it seems that all types of videos downloaded from the Rule34.US source are restricted by the Cloudfare service (both .mp4 and .webm), other sources seem to work fine.
Steps to reproduce

Select Rule34.US source
Search for any tag containing videos
Select a video, the whole page or the whole tag and add it to the download queue.
Start downloading
The downloaded videos will appear with a watermark by cloudflare, I will put a picture below.

Expected behavior
That videos downloaded from any tag on Rule34.US do not have this restriction.
Context
main.log
settings.txt
Screenshots

System information

OS: Windows 10 pro 19045.3930
Grabber version: 7.11.2 x64

Additional context
I have seen that sometimes there is a source that can not download files completely and I usually have some files that can not be downloaded because of some error, if the tag is thousands then it can be a few hundred images with error but I am not sure if it is rule34.us as I use r34.xxx, r34.us, r34.paheal, sankaku and kemono with mixed sources.

Interesting, I could not reproduce this by downloading the first page of the "video" tag in there.
The files got downloaded properly, and there's no watermark on them. Does it happen on every single video file for you, or only some? Are you logged into that source in Grabber?

It happens to me with all the videos from the r34.us source, even in the video player inside grabber, I'm not sure if it's normal but I don't see any option to login in that source, it's empty, I tried to do it by cookies with session_id and the value but it didn't work.
I don't think it's related to this problem but I have noticed that some sources cause errors when downloading files and then they fix themselves, right now it's happening with kemono.party but it's usually with r34.us or r34.paheal too, I'm starting to believe that my installation has something wrong.

Oh it seems that R34.US is also having errors, it doesn't find files to download even though it lists them, I wonder if it's a cloudflare thing.

It seems to only happen when accessing videos from img2.rule34.us (or similar), which goes through CloudFlare, instead of video.rule34.us which goes straight to the servers.


AudioContext and webkitAudioContext missing in Window definition in lib.dom.d.ts

For most modern browsers, there exists some type of AudioContext on the window, however the current definition for Window has neither of these.

In some browsers, the audio context exists at window.AudioContext
In some browsers, the audio context exists at window.webkitAudioContext

I would expect the definition of Window in lib.dom.d.ts  too look something similar to this:
interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, GlobalFetch, WindowOrWorkerGlobalScope, WindowEventHandlers {
    AudioContext?: typeof AudioContext;
    webkitAudioContext?: typeof AudioContext;
    ...

Search Terms:
AudioContext, webkitAudioContext , audio context missing in window
Code
window.AudioContext
window.webkitAudioContext

Expected behavior:
AudioContext and webkitAudioContext are defined on the window object
Actual behavior:
AudioContext and webkitAudioContext are not defined on the window object
Playground Link:
https://www.typescriptlang.org/play/#src=window.AudioContext
window.webkitAudioContext

For anyone else running into this, in the meantime you can extend the window in your declarations.d.ts file like so:
interface Window {
  webkitAudioContext: typeof AudioContext
}

I've had to take this approach a handful of times when vendor prefixed APIs aren't included in lib.dom.d.ts

I am also facing this issue, any update on this?

me too! AudioContext is defined webkitAudioContext is still missing

webkitAudioContext is old naming conventions in the Web Audio which is now the AudioContext.
which i think nothing will be done anytime soon.
The way around is to add
declare global {
  interface Window {
    webkitAudioContext: typeof AudioContext
  }
}

remember to make sure your declaration files are added into you tsconfig.json
"files": ["./declarations.d.ts"],```

Any update on this?

@sandersn any thoughts on this? Pinging you because I see you as assigned on the issue

Why is this closed?  Window['AudioContext'] still doesn't exist, and until it does I still need a ts-ignore here:
https://github.com/fatcerberus/oozaru/blob/master/src/audialis.ts#L37-L38

@fatcerberus Try just AudioContext. Both the type and the value are global, and since window: Window & typeof globalThis the value appears as a property of window as well. But that's not true of the type.
You might open a new issue for mirroring global types into Window, but I personally don't think it's a good idea.

How do I write/type this function if the globals don't exist on Window?
https://github.com/fatcerberus/oozaru/blob/master/src/prefix.ts#L37-L45

replace Window with typeof globalThis and window with globalThis.

Hmm, isn’t globalThis recent?  I wouldn’t expect that to work when e.g. "target": "es2015".  I’ll need to try it

It's not flagged -- if you use it as a value, you're expect to bring your own shim.

Hmm, I guess that’s convenient, but inconsistent with how other ES-defined globals are treated so I wouldn’t have guessed on my own that that was the case.  Thanks.
More to the point though: Why do window and globalThis not have the same type?  Is there ever a case in practice where they differ at runtime?

I'm not sure whether Window has properties that aren't defined globally, but for backward compatibility, it's important to keep code like this working:
interface Window {
  browserSpecific: number
}

webkitAudioContext is old naming conventions in the Web Audio which is now the AudioContext.
which i think nothing will be done anytime soon.
The way around is to add
declare global {
  interface Window {
    webkitAudioContext: typeof AudioContext
  }
}

remember to make sure your declaration files are added into you tsconfig.json
"files": ["./declarations.d.ts"],```

Thanks it still helps


Voltage offset went back to 0 after wake up from s3 sleep?

i think that was expected behavior as mentioned in https://github.com/psyq321/PowerMonkey#how-does-powermonkey-work

i think that was expected behavior as mentioned in https://github.com/psyq321/PowerMonkey#how-does-powermonkey-work

How about hibernation?

Same issue, did you fix that?


Getting this vague error from superwall package.

The error says:
Title: An error occurred
Message: The operation couldn't be completed. (superwall_react_native.PurchaseResultError error 1.)
What does this error mean and how to debug this?

I am using this version
"@superwall/react-native-superwall": "1.1.1",

@yusuftor , need help with this please.

Hey, the error "The operation couldn't be completed." is unfortunately a generic error that comes from either StoreKit or RevenueCat, if you're using them. We just propagate the error we receive. My advice would be to check revenuecat or apple/stackoverflow forums for what might cause that. I can see there are quite a few posts over there with possible causes. Sorry I can't be of more help!


Improve help channel closing by differentiating between the OP and other users.

Goal
Implement a system that closes help channels more quickly if the OP (the person who originally opened the channel) has not responded in a while. This is to prevent channels from going stale for a very long time.
Implementation suggestion
The initial implementation suggestion is that 10 minutes after the last user message, and 30 minutes after the last OP message the channel will be closed.
This issue is meant as a place to discuss different implementations and ideas relating to the Goal.

Yes +1

The proposed implementation sounds good to me.

I'm going to give this a go