Adding license details via tags

Codecov Report

Merging #74 (83c37be) into master (d7b4dd9) will decrease coverage by 0.38%.
The diff coverage is 89.52%.

@@            Coverage Diff             @@
##           master      #74      +/-   ##
==========================================
- Coverage   87.50%   87.11%   -0.39%
==========================================
  Files          34       34
  Lines        1160     1195      +35
  Branches       68       69       +1
==========================================
+ Hits         1015     1041      +26
- Misses        121      129       +8
- Partials       24       25       +1

Impacted Files
Coverage Δ

...vendanan/bazel/mvn/api/serialization/Adapters.java
85.13% <18.18%> (-10.18%)
:arrow_down:

.../net/evendanan/bazel/mvn/impl/TargetsBuilders.java
90.87% <95.65%> (+0.12%)
:arrow_up:

...java/net/evendanan/bazel/mvn/api/LicenseTools.java
98.03% <100.00%> (ø)

...ava/net/evendanan/bazel/mvn/api/model/License.java
100.00% <100.00%> (ø)

...nan/bazel/mvn/api/serialization/Serialization.java
100.00% <100.00%> (ø)

...et/evendanan/bazel/mvn/merger/TargetCommenter.java
100.00% <100.00%> (ø)

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 d7b4dd9...83c37be. Read the comment docs.


Childish DOM contemplations

When we started using react-basic, we didn't like some aspects of React.Basic.DOM interface. Having to pass HTML children as a { children } didn't map well to conventional thinking about DOM tree, made hard adding properties to elements that didn't have them before and seemed overly verbose. I haven't found any designated discussion of the DOM interface, so I thought I'll open that issue to gather information.
JSX and createElement
I haven't really dealt with React before, so I had to dig around a bit to understand the motivation behind  the current design. Some key points:

React components would often want to contain some DOM that's passed in by their parent. There is a convention to pass it through children property, unless something more advanced is needed.
JSX syntax provides a nice sugar on top of that convention. When one writes <Foo>
Bar
</Foo>, { children:
Bar
 } would be passed to Foo.
For reasons unknown to me, React.createElement chooses to do some magic and allows to pass arbitrary amount of extra arguments that are all fitted into an array and passed to component as children prop.
Despite that the common usecase is that children prop is an array of JSX elements, it's fairly common to have other types there. React doesn't constrain that in any way (and even provides helpers to help dealing with variously typed children).
purescript-react-basic keeps the React.Basic.createElement straightforward. It simply takes a props record and if it happens to have a children attribute it will be passed to createElement via apply. In other words it unmagics the weird "convinience" that React.createElement provides.

Please complete me here if I skipped some important details/constraints.
React.Basic.DOM
As I learned DOM interface used to take children as argument, but it was changed to children as property.
I don't think there's such thing as perfect, right, or correct HTML DSL since it's largely a matter of usage scenario, style, and taste. There is always room for improvement and innovation (especially as we get new language features). It would be nice if react-basic provided a DOM interface that stands up to the motto ("opinionated and optimized for the most basic use cases") and expose the data needed to generate third-party DOM interfaces for whomever have different needs/opinions.
What needs to be exposed is the const types (we can put it in types.json and standalone codegen could just load it by url from github). Instead of const voids we can import html-void-elements. That would make it easy enough to make third-party libraries with DOM interfaces. Maybe react-basic could also accept merge requests with alternative DOM flavors (or make a -contrib library) as long as their design is concrete and reasoned.
React.Basic.DOM.Childish
To give it a try I tweaked the codegen slightly and generated a different flavor of HTML DSL. For now it's just committed to our codebase and we switched most of the code to use it. It can be found here. The design decisions are outlined in the commit message.
In this issue I wanted to:

Discuss what should the default DOM DSL looks like. I don't have any concrete demands on that, but I'd really love to hear about the experience of using react-basic for some view-heavy code. It's also interesting to know how did current design emerge and what was the experience of switching from children-as-argument to children-as-property.
Get a green light to refactor the codegen a bit. I mainly want to move the types dictionary to types.json and make it so that the codegen spews out the whole module (so that it can be regenerated via node codegen/index.js > src/React/Basic/DOM.purs
Discuss the preferred policy for "third-party DOM DSLs". Do we want to have them in a main repo or-contrib repo? Standalone libraries in random GitHub accounts or GitHub organization that hosts the "maintained" flavors?

For reasons unknown to me, React.createElement chooses to do some magic and allows to pass arbitrary amount of extra arguments that are all fitted into an array and passed to component as children prop.

This is a typical JavaScript practice of slicing on arguments in a function, but has continued to drop in popularity because of the endless confusion of using methods of this signature

Despite that the common usecase is that children prop is an array of JSX elements, it's fairly common to have other types there. React doesn't constrain that in any way (and even provides helpers to help dealing with variously typed children).

The alternative of using classy encoding would be too expensive in codegen and awkward to use when you get errors though.

I wouldn't want any changes to React.Basic.DOM itself, but the codegen files should export the consts and this would be useful to have published as an npm package.

Note: me and @vapaj are @zudov's teammates, and the above pretty much summarizes our opinion as well (hence the "we" in his excellent analysis).
As he said, we have switched our new project to the children-as-argument style and it looks better, diffs make sense, and it feels more intuitive.
So we should not exclude switching the main API to it (not on the "breakage" argument at least, since soon we'll have in also the API refactor)

This is a typical JavaScript practice of slicing on arguments in a function, but has continued to drop in popularity because of the endless confusion of using methods of this signature

Yeah, that is true. What I don't understand is why the lowest primitive for constructing React elements has such interface. The elements/components are taking their children through props.children, React.createElement takes props. Why would it take the children as yet another argument? What happens when I do React.createElement("Foo", { children: ["Bar"] }, "Baz")? I find it confusing.

The alternative of using classy encoding would be too expensive in codegen and awkward to use when you get errors though.

Sorry, I didn't imply classy encoding at all, nor do I see why it would be needed. I've just mentioned one of things that is common to do with React and as it is now purescript-react-basic handles it perfectly well.
I think that React.Basic.createElement is very nice interface, because it simply takes { | props }. That props can have children field of any type, or it might not. The implementation would fiddle with extra arguments of React.createElement to pass those children in. There is no type constraints on props.children which allows to work with the most crazy React practices.
I made createChildishElement preserve that property, so even though it takes children as argument it doesn't constrain their type in any way. They should just be of the type that component expects.

I wouldn't want any changes to React.Basic.DOM itself, but the codegen files should export the consts and this would be useful to have published as an npm package.

Not sure if it really needs an npm package that has to be published and then maintained which is a big liability if it's only needed for weird third-party codegens. I would have just put those consts in json files, and if some third-party wants to use them, they can just load them straight from github and use the data.
That said if there will be an npm package that I can just require, I'll be totally happy with that since it'll be less work for me.

React's createElement API is the way it is purely because it's an exact translation from JSX syntax. The underlying element API is much simpler, but it is technically undocumented and unstable. See https://github.com/purescript-contrib/purescript-react/issues/152 for some background.

@spicydonuts Thanks a lot for a thorough response. Particularly for sharing your practices. It's very helpful for us.

I should mention that at first I've went on it a bit differently and just added an Array JSX argument to the React.Basic.createElement. I realized that it brings a lot of trouble and  makes the children property very special and forces its type to be Array JSX. Then I truly appreciated the current design of React.Basic.createElement and went into the direction of having a convinience/shortcut function createChildishElement that simply allows to supply a component (that expects children) property with children given through the argument:
createChildishElement
  :: forall children props
   . ReactComponent { children :: children | props }
  -> { | props }
  -> children
  -> JSX

I've implemented createChildishElement on top of createElement, but it would have been more correct to define createElement in terms of createChildishElement since it does less stuff:
exports.createElement_ = function(el, attrs) {
  var children = attrs && attrs.children;
  return React.createElement.apply(null, [el, attrs].concat(children || []));
}

exports.createChildishElement_ = function(el, attrs, children) {
  return React.createElement.apply(null, [el, attrs].concat(children || []));
};

The React.Basic.DOM module was designed to be replaceable for a number of reasons

Yes. I loved how easy it was to switch to alternative DOM module, so this is a very nice thing.

Ok, so the last opinion I wanted to add is that I don't think the DOM API matters that much (so merging changes here should probably be done by someone else, or if there's strong consensus).

I mostly agree on that. Over time I've tried at least a dozen purescript/haskell DOM DSLs and I can't really say that any of them were the best or the worse. All had some annoying things, and nice things. But all of them were pretty usable and my real problems were in different matters. The only API with which really cause me big troubles and WTFs was blaze with its unlawful Monad instance :scream_cat:
That said, some APIs caused me more cringing about how to format them nicely, some were harder to use in certain fashion, some were harder to modify. Yet, all those issues were mainly style/naming/formatting/taste unaligments. One way or the other different interfaces might optimize for different styles, but those are hardly ever a show stopper.

In my opinion the existing React.Basic.DOM is a simple API that maps to components straightforwardly and keeps everything uniform. It might be good to have that as default API. I like how you've explained and motivated the idea of building more domain-related abstraction on top of DOM API. I think the existing React.Basic.DOM makes a good point at being the basic lowest-level view API. One can build their domain view APIs straight on top on it, or if it seems necessary drop in another middle layer that will provide more convenient DOM API (for their use case).

Our project is now at quite interesting point, since we already have a significant amount of view code, but it was written in fairly straightforward way. I think what we'll do next is try refactoring it taking your commentary in account and see how it comes out.

@natefaubion I guess I see the point. Thanks for the link, this lower-level elements API is interesting,

@zudov You linked to the commit where you introduced the childish HTML DOM DSL. Is this available as a package now somewhere?
(I haven't really started using purescript-react-basic, but the thought of having to type children everywhere makes me hesitate to give it a try for my first purescript project.)


Go to previous/next commit when comparing "Compare File with Previous"

GitLens Version: 4.3.1
VSCode Version: 1.13.1
OS Version: Windows 10 x64

Sometimes, Blame is not enough to figure out who made certain changes. What I do is backtracking on commit history using "Compare File with Previous". It would be very useful to have commands to "Compare File's Previous Commit with its Previous" and "Compare File's Next Commit with its Previous". Thus, I don't have to go back to history, then find the previous commit, then select "Compare File with Previous", again and again.

@cnshenj Currently you can keep executing Compare File with Previous (or Compare Line Commit with Previous) and it will keep walking back in the history -- assuming when the diff editor opens, you set focus to the left side. Unfortunately the vscode api doesn't let me set the focus automatically.

Yes. It does help. Thanks!
Two things that need improvement:

You already pointed out that the focus is not set automatically due to vscode API limit.
It opens a new tab every time. When walking back in history, it could have opened many tabs that need to be closed one by one (can't close all tabs since there are other tabs opened). It would be helpful if I can choose to re-use the existing comparison tab.

@cnshenj Ah good point, I'll make those preview tabs in an upcoming release

@cnshenj When vscode 1.15 is released, those diffs should become preview tabs.

Closing this as this is addresses as much as it can be given the vscode api


Assumes "App" as the application name

If you rename the app to something else the resulting controller has the wrong namespace.
Suggest using Illuminate\Console\AppNamespaceDetectorTrait->getAppNamespace() instead of hard coding App.

Thanks for the tip peter, it was on my plans, I will try to implement it soon

Fixed on v0.1.6


Cm search global

[x] Added Global Search Modal component for both apps.

[x] The component manages two different API endpoints and responses.
[x] Part of issue: https://github.com/opentargets/issues/issues/2765
[x] The component shows the same indicators as in the current implementation.
[x] The component redirect on click to the option the same as is done in the current implementation.
TODO:
[ ] Suggested View
[ ] Search Listing Landing Page

this version, incorporating some of the comments from Ellie and myself, looks really good
Browser metadata
Path:      /
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1962 x 1212 @1x
Language:  en-GB
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved


push_to_hub but preview not working

Dataset viewer issue for 'happifyhealth/twitter_pnn'
Link: link to the dataset viewer page
I used
dataset.push_to_hub("happifyhealth/twitter_pnn")

but the preview is not working.
Am I the one who added this dataset ? Yes

Hi @thomas-happify, please note that the preview may take some time before rendering the data.
I've seen it is already working.
I close this issue. Please feel free to reopen it if the problem arises again.


lntest: keep all failed payments by default for HarnessNode

In this commit, we fix a detected flake: we go to make a payment, and
then want to assert that 2 attempts we required. The existing logic
assumes that the success and the payment will still be on disk. With a
recent PR, we now delete failed payments by default, but after the fact,
in a non-atomic fashion.
We fix this issue simply by having all the nodes keep around failed
payments for the sake of all the old itests that assumed this
information would always be on disk.
Introduced in: https://github.com/lightningnetwork/lnd/pull/6438.
Fixes https://github.com/lightningnetwork/lnd/issues/6711.

cc https://github.com/tvolk131

Looks over longingly at #6193 and #5939

Interesting that the itests didn't fail when I merged https://github.com/lightningnetwork/lnd/pull/6438. Was the test that checks the number of HTLCs merged in after that one?

The btcd itest now runs successfully. Found another issue in the sign_psbt test, going to add the fix to #6714.


#124 Carry Special security patch

That patch will break Carry RPC backward compatibility, so maybe keep it until major release.
It is also a good thing to think about moving this approach at lower level in case there will be more same cases where the initiator calls the target to action.

@rc174945 Actually, not necessary. However, it provides an additional protection layer (which, I agree, isn't that important), without much performance cost. Because it also covers from ConfirmRPC abusing (I don't think possibility to break a player state is a good idea). There is like a little edge case in my mind that may cause desync problems with this approach, but it should be almost impossible to reproduce. I would say this is debatable.
P.S. I believe there was another reason for this, something related to desyncs, but I’ve forgotten. It was something like "this way we reduce desync cases, but it opens the door to another desync case with less chance and impact" OR that conclusion that came in my head turned out wrong. ¯_(ツ)_/¯

I created a build of this and tried using the carry and it doesn't seem to work.
Also I feel like keeping a buffer of 100 requests is a bit excessive.

Mixed up target and initiator declaring. Fixed.
Reduced buffer to 16.

Mixed up target and initiator declaring. Fixed. Reduced buffer to 16.
P.S. @AutumnThyme I can rebase my branch once you finish and merge your target selection to avoid conflicts resolving.

Fyi there will definitely be a good amount of merge conflicts due to the way I split up the code.
The overall structure here is:
On hold, figure out the allowed-targets, not-allowed-targets, and current-target and apply some outlining based on color.
On release, if carrying, let go return, if not carrying, attempt to carry and then immediately reset the cd.

Also I'm basically blocked on this until RC actually does the review

Merged the other branch. Can we do this in a simpler way? I don't see why p2prpc  is a necessary component.
You can have other clients check that ConfirmRPC is coming from the sender to avoid someone exploiting that one. A hacked client can still send ConfirmRPC on their own object but probably only their human state gets bugged and others are not affected.

@rc174945 p2prpc prevents Confirm RPC abuse. Other players can verify that the RPC is most likely valid without needing to check extra things like player states, distance etc. It might look like an overkill, but I do not see a better way to cover both Request and Response abusing.
Without it, there is possible such scenario:

P1 sends Confirm RPC to P2.
P2 now has forced state by P1 (or even worse - broken state) which is not good.

That's why we need that RPC storage. So everyone can track there was a valid scenario with both Req and Resp.

ok I see what you mean. Still maintaining a global state table like this can cause desync or bugs in other ways that aren't obvious until extensive playtesting. What if both RPCs send to all clients, and everyone maintains a single variable "CarryRequester" viewID from the first RPC? Then on the second RPC everyone again checks that it comes from the owner and that requester ID matches.

Rebased from main. Now it only stores the last requester. There is still a distance check on the target side, but now with a lag compensation distance of 100 meters. I think that's a bit too much, but it's open to suggestions.
Also, I still believe a buffered history would be better, as it’s less affected by cases like consecutive RPCs (even valid ones) sent by different players at almost the same time.


experimental debugging of issue 56

adds loads of debugging to try help ascertain what's going on.
fixes a (seemingly unrelated) RTE in extension

this is not intended for merging - would like some folks to try this


Crash reported

Type: Bug
Just browse through a code repo in typescript.
VS Code version: Code 1.80.2 (Universal) (2ccd690cbff1569e4a83d7c43d45101f817401dc, 2023-07-27T21:05:41.366Z)
OS version: Darwin arm64 22.5.0
Modes:

System Info

Item
Value

CPUs
Apple M2 Pro (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
4, 3, 2

Memory (System)
16.00GB (1.30GB free)

Process Argv
--crash-reporter-id 77f24752-2d1f-4cc4-9548-f0bcc79290e3

Screen Reader
no

VM
0%

Extensions (15)

Extension
Author (truncated)
Version

vscode-eslint
dba
2.4.2

gitlens
eam
14.1.1

prettier-vscode
esb
10.1.0

go
gol
0.39.1

vscode-graphql
Gra
0.8.17

vscode-graphql-syntax
Gra
1.2.2

black-formatter
ms-
2023.4.1

python
ms-
2023.12.0

vscode-pylance
ms-
2023.7.40

jupyter
ms-
2023.6.1101941928

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.17

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

vsliveshare
ms-
1.0.5877

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263cf:30335440
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263cf:30792227
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
282f8724:30602487
f6dab269:30613381
showlangstatbar:30737416
vsctsb:30748421
03d35959:30757346
24365598:30736109
pythonfmttext:30731395
pythoncmvfstrcf:30756944
fixshowwlkth:30771522
showindicator:30785052
pythongtdpath:30769146
i26e3531:30792625
gsofa:30797621
pythonnosmt12:30797651
pythonnoceb:30797650
e537b577:30795824
dsvsc013:30795093
dsvsc014cf:30797590

/confirmPlease

Please perform the following three tasks to diagnose the root cause of the issue:

[ ] 1.) Disable Extensions

Select View and pick Command Palette...
Run Developer: Reload With Extensions Disabled
👉 See if the issue reproduces

[ ] 2.) Disable Configuration

Select View and pick Command Palette...
Run Profiles: Create a Temporary Profile
👉 See if the issue reproduces

[ ] 3.) Try VS Code Insiders

Download VS Code Insiders
Install and Run it
👉 See if the issue reproduces

Then pick one of the three resolutions depending on which step has helped:

Disabling my Extensions helped
Please run the command Start Extension Bisect and follow the instructions to find the extension that is causing this issue.

Please report the issue to the extension causing this.

Disabling my configuration helped
Please report back more details about your configuration, including settings.

Using VS Code Insiders has helped
✅ This likely means that the issue has been addressed already and will be available in an upcoming release. You can safely use VS Code Insiders until the new stable version is available.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


When shuffling songs, the UI shows the shuffled order correctly. However, when calling skipToNext() and skipToPrevious(), _player will play the song in the original order, not the shuffled order

As the title mentioned, skipToNext() and skipToPrevious() functions do not work properly when shuffleModeEnabled is true. For example, if the initial order is [song 1, song 2, song 3] and the shuffled order is [song 1, song 3, song 2], when skipping to the second song in the shuffled order (song 3 with the index is 1 in that array), calling skipToNext() will play song 2 even though the UI will show song 3 as the current song being played. I think this problem comes from the implementation of skipToNext() and skipToPrevious() that calling seek(Duration.zero, index: index) because seek(Duration.zero, index: index) operates on the initial order, not the shuffled order.

I'm not observing that behavior:

Oh, I understand now. You're talking about the audio. The title is changing but for some reason the audio is not matching the title. Let me look more into it.

Oh, I understand now. You're talking about the audio. The title is changing but for some reason the audio is not matching the title. Let me look more into it.

Yeah, that's what I meant

I'm a little stuck. I'm not sure how to solve this. If you find the solution can you let me know?

Actually, I had to use a temporary solution. First of all, I calling seekToNext() and seekToPrevious() instead of _skip(). Then, I got the index of the song being played by the _player in the shuffled list by the following way:
_audioPlayer.durationStream.listen((duration) {
  var index = _audioPlayer.currentIndex;
  final newQueue = queue.value;

  if (index == null || newQueue.isEmpty) return;

  if (_audioPlayer.shuffleModeEnabled) {
    index = _audioPlayer.shuffleIndices!.indexOf(index);
  }

  final oldMediaItem = newQueue[index];
  final newMediaItem = oldMediaItem.copyWith(duration: duration);
  newQueue[index] = newMediaItem;

  queue.add(newQueue);
  mediaItem.add(newMediaItem);
});

_audioPlayer.currentIndexStream.listen((index) {
  final playlist = queue.value;
  if (index == null || playlist.isEmpty) return;

  if (_audioPlayer.shuffleModeEnabled) {
    index = _audioPlayer.shuffleIndices!.indexOf(index);
  }

  mediaItem.add(playlist[index]);
});

This solution can temporarily make the song's title sync with the song played by the _player. However, in my case, the player plays the next song without following the shuffled order. I hope this temporary solution can help you find a more effective solution to this problem

In addition, this is how I implement skipToQueueItem(int index)
@override
Future<void> skipToQueueItem(int index) async {
  if (index < 0 || index >= queue.value.length) return;

  if (_audioPlayer.shuffleModeEnabled) {
    index = _audioPlayer.shuffleIndices![index];
  }

  _audioPlayer.seek(Duration.zero, index: index);
}

Besides, if you have a more efficient solution, you can share it in the issue that I have opened here

@duypham312 Thank you for posting the solution you have so far. I reproduced your results. Seeking to next and previous works but when one song finishes it automatically loads the incorrect song even though shuffling mode is enabled.
Steps to reproduce (for others interested in this problem):

Replace the respective methods in audio_handler.dart with the following:

void _listenForDurationChanges() {
  _player.durationStream.listen((duration) {
    var index = _player.currentIndex;
    final newQueue = queue.value;
    if (index == null || newQueue.isEmpty) return;
    if (_player.shuffleModeEnabled) {
      index = _player.shuffleIndices!.indexOf(index);
    }
    final oldMediaItem = newQueue[index];
    final newMediaItem = oldMediaItem.copyWith(duration: duration);
    newQueue[index] = newMediaItem;
    queue.add(newQueue);
    mediaItem.add(newMediaItem);
  });
}

void _listenForCurrentSongIndexChanges() {
  _player.currentIndexStream.listen((index) {
    final playlist = queue.value;
    if (index == null || playlist.isEmpty) return;
    if (_player.shuffleModeEnabled) {
      index = _player.shuffleIndices!.indexOf(index);
    }
    mediaItem.add(playlist[index]);
  });
}

  @override
  Future<void> skipToQueueItem(int index) async {
    if (index < 0 || index >= queue.value.length) return;
    if (_player.shuffleModeEnabled) {
      index = _player.shuffleIndices![index];
    }
    _player.seek(Duration.zero, index: index);
  }

  @override
  Future<void> skipToNext() async {
    _player.seekToNext();
  }

  @override
  Future<void> skipToPrevious() async {
    _player.seekToPrevious();
  }

Run the demo app
Press the shuffle button until the playlist order says Song 1, Song 3, Song 2.
Play the first song and move the thumb on the seek bar so that it is almost finished. Then let it finish and automatically progress to the next song.

The next played song is Song 2 even though it should be Song 3.

I added a note to the shuffle section of the tutorial alerting readers to the bug and directing them here.

The source code for just_audio_background might provide some clues, but this is pretty different than my tutorial setup.
https://github.com/ryanheise/just_audio/blob/master/just_audio_background/lib/just_audio_background.dart

@suragch Hey, have you tried to reproduce this error on Android? This bug has gone when I test on my android phone.

I think I found the cause of the bug related to auto-next. The _player.setShuffleModeEnabled(true) is called before the _player.shuffle() is called and that resulted in the problem as I mentioned. When I call await _player.shuffle() before _player.setShuffleModeEnabled(true), it works properly.

@suragch hey, I found another bug related to the shuffle mode. If I play Song 3 while the shuffle mode is on and let it end, the app will crash without printing any error message.

@duypham312 Nice job on finding a workaround for the auto-next issue!
The play-song-3-on-shuffle-mode bug seems to only cause a crash on iOS and macOS. Android and web work for me.

I've updated the tutorial and the project code up to this point. Even though there is still a bug with shuffling, it's better than it was before.

@suragch hey, Ryanheise just informed me about the new fix/queue branch, I tested with this branch and the app doesn't crash anymore.

@duypham312 That's great! Could you ping me again when that branch gets merged?

That branch has been merged, you can update the tutorial now

I've updated the tutorial. Thank you for your help in resolving this problem! I'll close the issue now.


Error while creating sms

My error is similar to this: https://github.com/danielberkompas/ex_twilio/issues/33
I am not using env variables, but config files:
config :ex_twilio,
    account_sid:   {:system, "any sid"},
    auth_token:    {:system, "any token"}

Any idea? Thank you!

Found! Of course you don't need :system if you read variables from config files:
config :ex_twilio,
    account_sid: "any sid",
    auth_token: "any token"

Thanks!


Not working inside another focus trap and custom elements

Hi I'm using the focus trap api to trap focus within a custom element where it works.
The code was coverted to coffescript for the project here https://github.com/puranjayjain/chrome-color-picker
However, when triggering the focus trap within another element within it the focus trap occurs on the new element and removes from the old element(as expected) but the focus is locked on one element inside it and won't change.
I tried changing the other element's tabindex to 0, 1, 2 but it won't change no matter what.
The relevant lines of code are
https://github.com/puranjayjain/chrome-color-picker/blob/master/lib/chrome-color-picker.coffee#L930
and other places in this file where the setTrap function was used

this is the dom structure
<ccp-container>
   bunch of tags
   <ccp-palette-popup tabindex="0">
        <ccp-panel>

Color Palettes

           <button class="btn btn-error btn-sm icon icon-x"></button>
        </ccp-panel>
        <ccp-panel class="material" tabindex="1">

Material

             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
        </ccp-panel>
        <ccp-panel class="custom" tabindex="1">

Custom

             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
             <ccp-swatch class="square"></ccp-swatch>
        </ccp-panel>
    </ccp-palette-popup>
</ccp-container>

the error happens in the last of these steps:

the focus trap is set on ccp-container, ccp-palette-popup is invisible using display: none
the focus trap is now set to ccp-palette-popup
the initial focus is ccp-panel.material
the focus is fixed on it and doesn't change from it

This happens in atom (which runs on chromium v47)

Open to a PR fixing this.

@davidtheclark I'll dive into the source most probably next week. :construction:

Should be fixed in v2.

@puranjayjain When you try this again, have a look at demo-six.

Thank you :smile:


[New API] : Filestack API

Brief Description 🤓
Provides file uploading, transformation, and image processing services, including filters, watermarks, and transformations like resizing and cropping.
How will you develop it?🤩
React, JS
Deployment
None
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

/gssoc24

Greetings @revanth1718🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

Hey @revanth1718 ! I wanted to inform you that we have closed issue.Thank you for your understanding, and we look forward to your continued engagement with our repository🤗.
In case of any issues, you can contact us on Discord.
Thank you! ❣
Happy Coding! ✨
Will See you soon❣


Slf4j Reporter: log the metric type using slf4j parameter

Slf4jReporter logs metrics:
loggerProxy.log(marker,
"type=HISTOGRAM, name={}, count={}, min={}, max={}, mean={}, stddev={}, " +
"median={}, p75={}, p95={}, p98={}, p99={}, p999={}",....);

Could it logs too the type using parameter?
loggerProxy.log(marker,
"type={}, name={}, count={}, min={}, max={}, mean={}, stddev={}, " +
"median={}, p75={}, p95={}, p98={}, p99={}, p999={}", "HISTOGRAM" , ....);

The issue may sound strange. In fact I have a logback json appender which extracts slf4j parameters ({}) from the log message and convert them to JSON object (https://github.com/nithril/logback-json-layout). It is only feasible if the value is a parameter.

Sure, I don't see why not. I don't have the time to do it, but if you were to submit a pull request it would be accepted.

@ryantenney As the Slf4jReporter is about to be touched anyway, I would like to ask if there are any objections against switching all these logXYZ() methods from private to protected?
The current versions of SLF4J apparently don't allow to format the parameters (e.g. doubles) but instead stick to a default format, which sometimes causes troubles when processing the logged data. In the concrete example, some doubles are logged as something like 0.00123 and then suddenly switching to something like 9.905307477103993E-6. This mixture of formats makes it harder (though of course not impossible) to parse the log messages, and I would simply like to be able to extend the Slf4jReporter and add my own implementations of logXYZ() if necessary.
If this is acceptable, I would add this change to the ones made by @nithril

@geissbock I just merged to master, feel free to make that change.

Thanks!


need build notifications to appear in slack channel

Messages like https://ioetec.slack.com/archives/G010PJ8TMRT/p1591114876015300 need to appear in the www.ioet.com slack channel so we know when a build has started and when it has finished.
This was working back in June.

The AWS configurations have been updated


Generated file WarningNames.kt should be excluded from code style check

Do we have an exclusion mechanism now?

We can either use ktlint's exclusion of files, if there is one, or allow suppress annotations suppress all inspections

KtLint has exclusion based on file path patterns: prepend path with ! to exclude. We should also support this in our plugins.


Add CoderByte as hard

I'm not sure but should I change difficulty to impossible?

Thanks for your contribution!


I want to add Outreachy in the list

Hello sir,
I'm Jyoti Rani, GitHub id - Jranii
I want to contribute by adding Outreachy paid internship to the list.
Kindly consider it, & for this, I'll very grateful to you.
Thankyou.

Hello sir,
I'm Udit Sangwan, GitHub id - Creder11
I want to contribute by adding OIST japanese internship.
Kindly consider it, & for this, I'll very grateful to you.
Thankyou.


hello

I added the project to winform and it is not working can you help

it's not a winform project, my project is a console project. also i can't help you without any additional information

I think the problem is here Always perceives it as bad
if (Result == "[Bad]" || Result == "Failed")
{

where's the rest of the code? anyway, you can always modify the functions inside the classes to return true/false and you don't need to depend on "strings" i putted cause i just did that to make it easier to show results in the console.

No Response

public static void DisplayCheckResult(string Text, bool Result)
{
if (Result == true)
{
Console.Write(Text);
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.Write("[Bad]" + "\n\n");
Console.ForegroundColor = ConsoleColor.White;
}
else
{
Console.Write(Text);
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Write("[Good]" + "\n\n");
Console.ForegroundColor = ConsoleColor.White;
}
}
    public static void DisplayCheckResult(string Text, string Result)
    {
        if (Result == "[Bad]" || Result == "Failed")
        {
            Console.Write(Text);
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write(Result + "\n\n");
            Console.ForegroundColor = ConsoleColor.White;
        }
        else if (Result == "Skipped")
        {
            Console.Write(Text);
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.Write($"[{Result}]" + "\n\n");
            Console.ForegroundColor = ConsoleColor.White;
        }
        else
        {
            Console.Write(Text);
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write(Result + "\n\n");
            Console.ForegroundColor = ConsoleColor.White;
        }
    }

continually perceives it as bad


Dash get deleted after I use underscore as space replacement

Hey,
I use<EMAIL_ADDRESS>If I use an underscore as a space replacement, dashes get deleted.
Here is an example:
import slug from 'slug';

const input = 'My telephone-number';
const output = slug(input, '_');
// output = my_telephonenumber and not my_telephone-number

All non-alphanumberic characters get deleted by default.
If you want to preserve a character (such as dashes), the easiest way is probably to add it to the charmap:
import slug from 'slug';

slug.charmap['-'] = '-';

const input = 'My telephone-number';
const output = slug(input, '_');
// output is 'my_telephone-number'


Update router guide

The existing examples are broken and do not work. We need to update property, not router reference.
Fixes #1038

Looks great!


When multiple properties change templates are evaluated in an unexpected order

See issue and discussion here: https://github.com/Polymer/polymer/issues/265
John Messerly on web-ui list:
yeah, this is interesting. I dunno if it's a problem in TemplateBinding (formerly MDV) or our port of it. Observers are supposed to run in their birth order, but that doesn't necessarily help when there's all kinds of async delays built into the system.
in this case:

"json" changed -> enqueue the bindProperty observer and the "json.keys" observer
run bindProperty observer, it enqueues change to "isMap"
run the "json.keys" observer (it was already queued)
run the "isMap" observer

Maybe we're getting the order of #3 and #4 wrong... certainly, the "isMap" observer should have priority over the "json.keys" observer, because it was registered first.
Tentatively, I think this is a package:observe bug.

This issue has been moved to dart-lang/observe#38.


Use propagate_inbounds to restore functionality on 0.7

uses @propagate_inbounds
drops support for Julia 0.4, and 0.5
removes deprecation warnings

fixes #10

FWIW, it seems like LLVM now uses SIMD even for the regular array.

Might be the SLPVectoriser? But in general SoA is still valuable since it saves a bunch of scatter/gather operations

Yeah, I didn't notice a big difference now though (using https://github.com/piever/StructArrays.jl/)
using StructArrays
regular = randn(1000000) + im*randn(1000000);
soa = convert(StructArray, regular);

function f(x, a)
    s = zero(eltype(x))
    @simd for i in 1:length(x)
        @inbounds s += x[i] * a
    end
    s
end

julia> @btime f(regular, 0.5+0.5im)
  929.258 μs (2 allocations: 64 bytes)

julia> @btime f(soa, 0.5+0.5im);
  960.669 μs (2 allocations: 64 bytes)

When using @fastmath the soa version goes over to use 256 bit SIMD registries though (while something terrible happens for the regular version):
function f_fast(x, a)
    s = zero(eltype(x))
    @simd for i in 1:length(x)
        @inbounds @fastmath s += x[i] * a
    end
    s
end

julia> @btime f_fast(regular, 0.5+0.5im)
  2.957 ms (2 allocations: 64 bytes)

julia> @btime f_fast(soa, 0.5+0.5im)
  701.956 μs (2 allocations: 64 bytes)

I can repeat the timings above with this package as well so it doesn't seem to be an implementation detail of the specific SoA package.


authentication request contains http redirect URI, while text refers to https.

The first Tip and the authentication request says the browser will be redirected to https://localhost/myapp/ while the authentication request just above it refers to http. Also, the redirect_uri in the link in the tip contains http instead of https.
Further down (Getting access tokens silently in the background) the redirect_uri is again http, but the GET requests contain https.
The sign-out request at the end does contain a redirect_uri with https.
There seems to be some inconsistency in the use of protocols, which can be corrected.

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

ID: d87a7ece-a04f-fa31-902a-17f9cb6eec23
Version Independent ID: b7f1cadb-a7da-e017-3a24-5e0cb487b6b4
Content: OAuth 2.0 implicit grant flow - The Microsoft identity platform
Content Source: articles/active-directory/develop/v2-oauth2-implicit-grant-flow.md
Service: active-directory
Sub-service: develop
GitHub Login: @hpsin
Microsoft Alias: hirsin

@jovanroy Thank you for your feedback . We will investigate and check with the author on this.


Add ignored test column to conformance test report

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

GitHub Actions workflow failed for the conformance comparison report generation since the report stored for main is missing the list of ignored tests. After merging, the ignored tests will be included in the conformance report and the comparison report should be generated properly.


texture lose tilable

Material Maker version:
96
OS/device including version:
win 10
Issue description:
I have got no tilable texture, if use FILL/FILL TO RANDOME nodes. U can see difference between sorce texture (pict1) and prodused texture used as mask (pict3). Because mask texture has not correct extensions result (pict4) is not tilable(((. Thans U
Steps to reproduce:

The generated is what's inside the axes, and it is still tilable. The parts outside that square will be ignored when exporting.
0.98 will have an option to tile in the 2D preview.


Fix rtm_send_message bug

Summary
Describe the goal of this PR. Mention any related Issue numbers.
Currently in the rtm_send_message function in client.py, if the channel is not found
channel_id = found_channel.id if found_channel.id else channel

generates the following error.
Traceback (most recent call last):
  File "/venv/lib/python3.6/site-packages/slackclient/client.py", line 160, in rtm_send_message
    channel_id = found_channel.id if found_channel.id else channel
AttributeError: 'NoneType' object has no attribute 'id'

This patch fixes the error by removing the 'id' attribute from the if statement.
Requirements (place an x in each [ ])

[x ] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[ x] I've read and agree to the Code of Conduct.

 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.


Document that extern crate test is still required for benchmarks with 2018 edition

Originally reported in rust-lang/rust#55133, and of late it seems I'm not the only one surprised by the continued need to use extern crate test in each benchmark as a special case (and with edition="2018")
Currently the guide's Path clarity section doesn't seem to indicate there are any exceptions:
https://rust-lang-nursery.github.io/edition-guide/rust-2018/module-system/path-clarity.html

Here's a brief summary:

extern crate is no longer needed

Wouldn't it be helpful to add this or other exceptional cases as a footnote or under the More details: No more extern crate section, with some rationale as indicated in rust-lang/rust#55133? My attempt at a user-centric elaboration:

#![feature(test)] is unstable and doesn't by itself import the test pseudo-crate for benchmarks.

Cc @Mark-Simulacrum (not sure if you also disagree with documenting this discrepancy)

this isn't specific to test, it's for any of the crates in the sysroot, like proc_macro

That sounds like a much better explanation, thanks.


Exception thrown when testing tooltips without aria-describedby

This line of code (axs_testing.js:2169, if that helps) throws an exception
return 0 === axs.utils.getAriaIdReferrers(a, "aria-describedby").length;

because axs.utils.getAriaIdReferrers(a, "aria-describedby") is null

https://github.com/GoogleChrome/accessibility-developer-tools/blob/master/src/audits/RoleTooltipRequiresDescribedBy.js#L33 is the original line of code. This should check for null. Also, https://github.com/GoogleChrome/accessibility-developer-tools/blob/812ad9cc6170d7655adcd62707d1e75d3c99a12a/src/js/AccessibilityUtils.js#L1004 should probably be explicitly annotated as a nullable return value.

Additionally, that rule should be a WARNING severity, since the advice in http://www.w3.org/WAI/PF/aria/roles#tooltip is a SHOULD rather than a MUST.


Checking off SIG Cluster Lifecycle for 1.8 draft.

Our draft was already merged in https://github.com/kubernetes/features/pull/391, so checking off the SIG from the checklist.

Actually, I believe that @luxas wanted to make some edits to the Cluster Lifecycle sections. Is that still true?
cc: @kubernetes/kubernetes-release-managers

@calebamiles I might update some bullet points when we know the exact state of some of the issues
Will update this doc when I have the information on those things/have taken those decisions with others.


chartographer, genitalia (logical-conflict)

This pull request was generated by the 'mq' tool

/trunk merge


feat: tailwind module integration

Hey - maintainer of the @nuxtjs/tailwindcss module here 👋
Thanks for this module - let's provide developers convenience of adding the preset into their Tailwind config automatically?

Is this getting triaged soon @mertsincan?


Android TV: Keyboard events not always working

Description
When using RN on Android TV keyboardDidShow and keyboardDidHide aren't always fired even though the virtual keyboard had been shown, or is shown just when you type the first letter on the gboard. In some cases event is fired just when the native Android TV mechanism is making the screen to slide up.
This also causes further bugs when using KeyboardAvoidingView.
Version
0.64.2
Output of npx react-native info
System:
    OS: macOS 12.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 328.39 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.18.1 - /usr/local/bin/node
    Yarn: 1.22.11 - /usr/local/bin/yarn
    npm: 6.14.15 - /usr/local/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.2 - /Users/krystian.parma/.rbenv/shims/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
    Android SDK: Not Found
  IDEs:
    Android Studio: 2020.3 AI-203.7717.56.2031.7935034
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  Languages:
    Java: 15.0.2 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: Not Found
    react-native-macos: Not Found
    react-native-tvos:  0.64.2-2
  npmGlobalPackages:
    *react-native*: Not Found

Steps to reproduce

Select text input
Virtual keyboard is shown, but the keyboardDidShow event isn't fired
Type a first letter
Event is fired

Snack, code example, screenshot, or link to a repository
The example of virtual keyboard being shown without keyboardDidShow event.

The example of virtual keyboard being shown and the keyboardDidShow was fired. Please notice the black bar at the bottom of the screen indicating Android TV sliding up the screen.

@kparma thanks for the bug report. Could you see if this reproduces in 0.66.3-0? Also, is it reproducible in emulator, or does it require a real Android TV device?

@douglowder hi, firstly thanks for a terrific work you do making this project. I really love it :)
I'll try to check it on 0.66.3-0. It's reproducible on emulatators. I've use API version 29.

Closing this for now -- @kparma if you are able to reproduce this on 0.68.2-7 or later, please reopen and provide an example of how to repro the bug, and which API versions have the issue.


Update build_and_test.yml with permissions

Add read only permission

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

Comparison is base (a2428c1) 92.82% compared to head (22dd8a7) 92.82%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage   92.82%   92.82%
=======================================
  Files           6        6
  Lines         209      209
=======================================
  Hits          194      194
  Misses         11       11
  Partials        4        4

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


Compilation Issues with SecApi TA Library on OP-TEE OS Due to Pthread and Incomplete libc Support

Hello,
I've encountered a significant number of compilation issues while trying to build the SecApi TA library for the OP-TEE OS. Specifically, the code within reference/src/taimpl/src/internal/cipher_store.c utilizes pthread, which is not supported by OP-TEE OS.
My question is whether pthread is essential within the TA side library? Since OP-TEE also lacks full libc support, similar issues arise in other areas, such as reference/src/taimpl/src/internal/cenc.c, which includes inet.h and is missing numerous symbols.
Have you encountered these types of issues when compiling for the OP-TEE platform? Could you suggest how to handle such compilation problems? Is it possible to work around these issues by modifying the code outside of the porting layer?
Any guidance or recommendations would be greatly appreciated.
Thank you for your time and assistance.
Best regards,
Hanlin.Wang

Hi Hanlin,
I apologize for the delay in responding.

Regarding the missing symbols from inet.h, many of them are endian-safe operators.  They can also be grabbed from stdlib.h, or you can pull the defines you need from endian.h.

pthread is not essential to the operation of the TA implementation.   While many of the reference implementation design choices were influenced by OPTEE, we did opt for implementing thread safety in the TA in the case of TEE that could support it.  If there is no concern for concurrent access or race conditions in your TA implementation (ie single thread), you can probably ignore those calls.

Richard Woh

Hi Richard,
Thank you for your reply. I have made modifications to the inet and pthread parts according to your suggestions. Now, I have encountered issues with time-related libc functions and would like to ask for your advice on the following:

In reference/src/taimpl/src/internal/key_store.c and rights.c, the time(NULL) function is called multiple times to obtain the current system time. Since OP-TEE does not support time-related libc functions, my understanding is that I should use the GlobalPlatform (GP) APIs to obtain the system time from the Rich Execution Environment (REE). Could you confirm if my understanding is correct?

In reference/src/taimpl/src/internal/typej.c, functions strptime() and timegm() are called. I assume that, similar to the situation with inet, I should implement the missing functions myself, right?

Hi Hanlin,

Yes, you may need to use an OPTEE function such as TEE_GetREETime or something like that.
You assume correctly.  We need a function to parse the time, so if you could find an implementation that works in OPTEE that would be good.

Thanks your suggestions. Let me close this issue.


[WIP] Clean up compat and drop support for Django 1.6, 1.7.

I'll remove the work-in-progress designation when I finish.

Coverage decreased (-2.4%) to 31.631% when pulling df042320a4200e7817cd8e33edf852277246e363 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-2.4%) to 31.627% when pulling 6e717eaf8af9ad0671e2aa11ae37f78abb2a4ff5 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-4.3%) to 29.707% when pulling 8f52613e06cd38c078df61468ea88d5676942693 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-2.4%) to 31.604% when pulling 0cf07798e07911dbecf5ea6e15552bdd983a8e43 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-2.4%) to 31.604% when pulling 0cf07798e07911dbecf5ea6e15552bdd983a8e43 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-0.1%) to 33.943% when pulling 936c923cfa32189e54dd9b722bda8a7bc274e816 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-2.4%) to 31.602% when pulling 12b40c52c0b455f4174c53188aa3ad287ce24c37 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-2.4%) to 31.617% when pulling c70fc3d856153921510d6135ea104e4c5c379782 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Coverage decreased (-2.4%) to 31.602% when pulling 62cef1adc4f98d45be6ef22a5a60af7e6f690ce8 on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

@trbs, I didn't get to removals for Django 1.6/1.7 yet but I'm done working on this for today so feel free to merge this if you have time to review it before I return to the rest of it.

Coverage decreased (-2.3%) to 31.697% when pulling ff338678f982937531700291baec4d9e3b5fc73c on timgraham:compat into 91a116aae295009eae9ab4739284de2ee7ae500f on django-extensions:master.

Thanks !
(btw if you want please create a PR to put yourself in the docs/AUTHORS list)


feat: add *PLRQ group with 8 new functions

[x] Add diminishedTriadChord()
[x] Add functions:

   "p32": p32,
    "p41": p41,
    "lt13": lt13,
    "l41": l41,
    "rt23": rt23,
    "rt42": rt42,
    "q13": q13,
    "q42": q42

[x]  Add l14()
[x] Add n42()

[x] The ST group adds 12 transformations between seventh chords and triad chords.

[x] The new function getAvailableSeventhsTransformations() returns a string[] of all available transformations from the extended PLRQ group.
[x]  randomSeventhTransformation() returns the chord randomly transformed by a valid function.


Change identification.py method to remove warning

Removed warning by using Polar's .collect_schema().names() instead of .columns

It seems this pull request https://github.com/xavctn/img2table/pull/213 and release https://github.com/xavctn/img2table/releases/tag/1.3.0 fixed the issue. we might want to close this


Empty a date when "Inline value editing" is enabled gives a wrong date

When you try to empty a date in a record list with "Inline value editing" enabled it gives a weird date : 01/01/1901 00:53.
When you try to empty a date in edit record page, it works as expected.
https://github.com/cortezaproject/corteza/assets/105485183/074185cb-ceb8-414b-bc3e-345fa1baaf2b
This is probably related to this issue 1673

Fixed with: https://github.com/cortezaproject/corteza/commit/6fe0b8ae83121d5e4d93ddb6a5b7b1778b8730d9


use a mutex for e2e test + add e2e test on datasource

Codecov Report

Merging #34 (f9366fe) into master (ee76491) will increase coverage by 11.64%.
The diff coverage is 50.00%.

@@             Coverage Diff             @@
##           master      #34       +/-   ##
===========================================
+ Coverage   25.06%   36.70%   +11.64%
===========================================
  Files          54       54
  Lines        1871     1877        +6
===========================================
+ Hits          469      689      +220
+ Misses       1341     1101      -240
- Partials       61       87       +26

Impacted Files
Coverage Δ

utils/test.go
77.77% <ø> (ø)

pkg/model/api/v1/datasource.go
35.29% <50.00%> (+35.29%)
:arrow_up:

pkg/client/perseshttp/request.go
48.38% <0.00%> (+38.70%)
:arrow_up:

pkg/client/api/v1/client.go
50.00% <0.00%> (+50.00%)
:arrow_up:

pkg/client/perseshttp/client.go
61.36% <0.00%> (+61.36%)
:arrow_up:

internal/api/impl/v1/datasource/service.go
75.55% <0.00%> (+71.11%)
:arrow_up:

internal/api/impl/v1/datasource/persistence.go
100.00% <0.00%> (+85.71%)
:arrow_up:

pkg/client/api/v1/project.go
100.00% <0.00%> (+100.00%)
:arrow_up:

pkg/client/api/v1/datasource.go
100.00% <0.00%> (+100.00%)
:arrow_up:

... and 1 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 ee76491...f9366fe. Read the comment docs.


Is the API offline?

This is as of 1:55pm on Friday, the timestamp looks wrong and the data is stale.  We got this from your live demo, but also see in our work.  Is there a outage?

The quotes that are returned are as of last close.  Since you were viewing this on a Friday, then it shows Thursday's close.  Today (Monday) it is showing Friday's close.


1.1.1 < 1.0.7  Really?

I give you:
|> sdk outdated
==== BROADCAST =================================================================
* 15/03/17: Kotlin 1.0.7 released on SDKMAN! #kotlin
* 14/03/17: Kotlin 1.1.1 released on SDKMAN! #kotlin
* 14/03/17: Asciidoctorj 1.5.5 released on SDKMAN! #asciidoctorj
================================================================================

Upgrade:
kotlin (1.1.1 < 1.0.7)

Upgrade candidate(s) and set latest version(s) as default? (Y/n): n

and ask WTF.

This is due to the Kotlin team releasing 1.0.7 after 1.1.1 and marking it as default. This is not the first time either...

I've just corrected this for 1.1.1 once again. I've raised an issue on their issue tracker regarding this recurring problem.

I have added my vote to the issue.


ibus with libpinyin stopped working after upgrade to nixos-19.09 channel

Describe the bug
I configured https://nixos.org/channels/nixos-19.09 to be my new nixos channel and ran nixos-rebuild switch followed by a manual reboot.
My ibus was configured so that I can switch between three input methods (“Chinese - Bopomofo”, “Chinese - Intelligent Pinyin”, and “German - German” with y / Windows-Y.
The Windows-Y key combination doesn't seem to have an effect anymore. Nothing gets changed, when I press the Windows key and Y, no small window indicating the selected input method gets shows (this was done before the change to 19.09).
Here are the relevant parts of my configuration.nix:
{
  i18n = {
    consoleFont = "Lat2-Terminus16";
    consoleKeyMap = "de";
    defaultLocale = "zh_TW.UTF-8";
    inputMethod = {
      enabled = "ibus";
      ibus.engines = with pkgs.ibus-engines; [ libpinyin mozc ];
    };
  };

  environment.systemPackages = with pkgs; [
    wget vim lvm2 cryptsetup emacs firefox mutt git bash-completion dmenu xorg.xmodmap xorg.libXinerama rxvt_unicode ibus ibus-engines.libpinyin libpinyin ibus-engines.mozc xorg.xev file anki libreoffice-fresh unzip evince patchelf gnome3.gnome-terminal feh nixops usbutils w3m html-tidy haskellPackages.stack leiningen mercurial clojure openjdk gnumake aspell aspellDicts.de slack gimp gnuplot whois gcc dia xournal killall tree cmake binutils-unwrapped openssl gcc-arm-embedded-7 rustup gnupg gnome3.vte manpages pmutils numlockx udev signal-desktop nomacs x2goclient drone-cli pwgen gdb bind.dnsutils haskellPackages.xmobar haskellPackages.xmonad haskellPackages.xmonad-contrib haskellPackages.xmonad-extras eagle exercism clang-tools hlint pavucontrol weechat yubioath-desktop yubikey-manager yubikey-manager-qt yubikey-personalization yubikey-personalization-gui gnucash libchipcard aqbanking gwenhywfar
    (texlive.combine {
      inherit (texlive)
      scheme-medium a4wide bclogo changebar csquotes ctex dinbrief enumitem environ fandol fourier framed mdframed multirow needspace noto todonotes trimspaces xecjk xpinyin zhnumber wrapfig capt-of;
    })
  ];
}

When I run ibus-setup and select one of the input methods then pressing the Preferences button, nothing opens but I get the following message on the terminal window from which I started ibus-setup:
Traceback (most recent call last):
  File "main2.py", line 32, in <module>
    from gi import require_version as gi_require_version
ModuleNotFoundError: No module named 'gi'

Expected behavior
I would expect to be able to switch keyboard layouts as before with the Windows-Y key combination.
Metadata

system: "x86_64-linux"
host os: Linux 5.2.13, NixOS, 19.09beta181.64e38f246ae (Loris)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3
channels(root): "nixos-19.09beta181.64e38f246ae, unstable-19.09pre192418.e19054ab3cd"
channels(matthias): "home-manager-19.03"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
attribute:
- ibus
- ibus-engines.libpinyin
- ibus-engines.mozc
module:
- i18n.inputMethod

Could you please check if #71442 fixes the issue for you?


Add buffer attributes to fix the cuda shared memory issue

The tests are added in this PR: https://github.com/triton-inference-server/server/pull/4025


Support multiple data hosting sites

A bigger problem right now is that a submission isn't easily run on multiple queues unless we adopt the COVID / EHR infrastructure.   The issue is that once a submission is put in EVALUATION_IN_PROGRESS, it is only run on one infrastructure.
Due to this, the currently working solution is:

Participants submit to a main queue
services are validated
A service account submits to internal queues which are then linked to different data hosting sites
Each of these internal queues then start the services and annotate the notes.
results are all propagated back to the main queue.

Ideally what happens is...

A submission happens
Workers on each of these data hosting sites recognizes that a submission has happened
Starts the evaluation of submission process

But the ideal scenario is still largely WIP.

@thomasyu888 I suspect that we will address this problem in https://github.com/Sage-Bionetworks/submission-schemas. I'm assigning this ticket for the sprint 21.2 (February), after we launch the NLP Sandbox this month.

@thomasyu888 This ticket is too generic and I'm thinking to close it. We previously discussed that our current framework could support multiple data hosting sites. We are currently working with MCW to help them deploy a data hosting site (tracked in https://github.com/nlpsandbox/nlpsandbox/issues/6). When we receive a submission, we (Sage) would first run it on a public dataset as a sort of validation before enabling other sites to evaluate the submission on their own data.


Dynamic PointStyle textures

https://github.com/tangrams/tangram-es/issues/1645

I've been testing this a bit and have two questions:

Setting new textures in draw seems to work, but I don't see the expected behavior when I unset a texture at the draw level. Setting a null or empty value for the texture parameter should cause the point to draw with the default point texture and that doesn't seem to happen.

This can be very, very inefficient. By setting  a custom texture on one of the POI layers in the default scene, I produced over 10 times as many draw calls to render the points style. These are expensive draw calls too because they rebind textures and they don't use VAOs (also: why don't we use VAOs for point styles??). Is there a way to sort our points by texture before we submit them for drawing? We could merge this without improving the batching, but it would be better to address this performance bottleneck before users hit it.

Setting new textures in draw seems to work, but I don't see the expected behavior when I unset a texture at the draw level. Setting a null or empty value for the texture parameter should cause the point to draw with the default point texture and that doesn't seem to happen.

This does seem to work for me and as described in the issue:

If no texture value is set for the final merged draw group (either because it was not set by the style or by a parent layer's draw group, or it was explicitly un-set in a child draw group with texture: null), then the feature will be drawn with the built-in points style (e.g. as regular points would be drawn, with no texture bound).

Ok I see, I can repro what @matteblair mentioned above in 1.
Refer the following scene file diff:
diff --git a/scenes/scene.yaml b/scenes/scene.yaml
index 627d2e0b..6bbf74af 100644
--- a/scenes/scene.yaml
+++ b/scenes/scene.yaml
@@ -60,6 +60,9 @@ textures:
             arrow: [1, 1175, 22, 22]

 styles:
+    icons:
+        base: points
+        texture: pois
     heightglow:
         base: polygons
         blend: translucent
@@ -307,8 +310,8 @@ layers:
             # oneway arrows and shields are distinct groups!
             filter: { oneway: yes, shield_text: false, $zoom: { min: 17 } }
             draw:
-                points:
-                    texture: pois
+                icons:
+                    texture: null
                     flat: true
                     sprite: arrow
                     size: [[17, 18px], [18, 20px], [20, 32px]]

One would expect no arrows will be shown as the texture is explicitly set to null in the draw rules, but it does render the arrows.

The CI build errors should fix themselves after rebasing: https://circleci.com/gh/tangrams/tangram-es/2297
There must be some issue with the Xcode 8.1 image we previously used on CircleCI.

Would it be simpler to use the "style-default draw rule" mechanism to handle the dynamic texture behavior? That is, we may not need a new "default texture" field in PointStyle, we can store that information in the "default draw rule" for that style and let the merging take care of the per-draw-rule behavior.

@matteblair good point! Though looking into it this seems to be slightly less efficient and it would not simplify the implementation.


Uncaught (in promise) DOMException: Only secure origins are allowed

Runner stops working after a while using chromium (53.0.2785.116 (64-bit) or arch linux).
This is the URL attached to the error:
https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features
Looks like something to do with loading the service worker.
I tried firefox as well and I get SecurityError: The operation is insecure..

Do you have an example bin url?

Sure.
https://jsbin.com/wegizaf/2/edit?output
I ran it locally and it worked fine.


Solaris errno downloads broke

Love to see the stderr prefixing paying off:
solaris: curl: (3) URL using bad/illegal format or missing URL
Funny to look back and remeber that I gave it so much second thought in #8. Absolutely worth it.
Anyway it broke over a month ago now, I've just been busy and haven't had a chance to notice. Will look into it soon.

T'was a simple HTML change on one of Oracle's documentation pages. Fixed in f6da5c48b5e18724660a8e5b5f5ab60737d6b79b.
Funny that when I was in my early twenties, I would religiously use sed 's/.*href="//; s/".*//' (or an equivalent like sed s/^.*href="\([^"]*\)".*$//) in situations like this, but then about four years ago I flipped into a preference for these deliberately fragile super-simple approaches like cut -d\" -f2.
I kinda like getting to see empirically of how rarely it breaks in the real world for uses like this.


Method fromTriples(PlanTriplePatternSeq, String, SemStoreExpr, PlanTripleOptions) is ambiguous for the type PlanBuilder

For the following test code snippet, we are seeing the ambiguous error message.
public void testJoinInnerWithSemStore() throws KeyManagementException, NoSuchAlgorithmException, IOException,  SAXException, ParserConfigurationException
	{
		System.out.println("In testJoinInnerWithSemStore method");

		// Create a new Plan.
		RowManager rowMgr = client.newRowManager();
		PlanBuilder p = rowMgr.newPlanBuilder();
		PlanBuilder.Prefixer  bb = p.prefixer("http://marklogic.com/baseball/players");
		PlanBuilder.Prefixer tm = p.prefixer("http://marklogic.com/mlb/team/");

		PlanColumn playerAgeCol = p.col("player_age");
		PlanColumn playerIdCol = p.col("player_id");
		PlanColumn playerNameCol = p.col("player_name");
		PlanColumn playerTeamCol = p.col("player_team");

		PlanSystemColumn playerGraphCol = p.graphCol("graphUri");

		PlanColumn teamIdCol = p.col("player_team");
		PlanColumn teamNameCol = p.col("team_name");
		PlanColumn teamCityCol = p.col("team_city");

		PlanTriplePatternSeq patPlayerSeq = p.patterns(p.pattern(playerIdCol, bb.iri("age"), playerAgeCol, playerGraphCol),
				p.pattern(playerIdCol, bb.iri("name"), playerNameCol),
				p.pattern(playerIdCol, bb.iri("team"), playerTeamCol)
				);

		ModifyPlan player_plan = p.fromTriples(patPlayerSeq, null, p.sem.store("/optic/player/triple/test", "/optic/team/triple/test"),
				                               p.tripleOptions(PlanBuilder.PlanTriples.DEDUPLICATED));

		PlanTriplePatternSeq patTeamSeq = p.patterns(p.pattern(teamIdCol, tm.iri("name"), teamNameCol),
                                                     p.pattern(teamIdCol, tm.iri("city"), teamCityCol)
				                                    );
		ModifyPlan team_plan = p.fromTriples(patTeamSeq,
                                             null,
                                             null,
                                             p.tripleOptions(PlanBuilder.PlanTriples.DEDUPLICATED)
                                             );

		ModifyPlan output = player_plan.joinInner(team_plan)
                                       .where(p.eq(teamNameCol, p.xs.string("Giants")))
                                       .orderBy(p.asc(playerAgeCol))
                                       .select(
                                               p.as("PlayerName", playerNameCol),
                                               p.as("PlayerAge", playerAgeCol),
                                               p.as("TeamName", p.fn.concat(teamCityCol, p.xs.string(" "), teamNameCol)),
                                               p.as("PlayerGraph", playerGraphCol));
		JacksonHandle jacksonHandle = new JacksonHandle();
		jacksonHandle.setMimetype("application/json");

		rowMgr.resultDoc(output, jacksonHandle);
		JsonNode jsonResults = jacksonHandle.get().path("rows");

		// Should have 3 nodes returned.
		assertEquals("Three nodes not returned from testJoinInnerWithGraphIRI method ", 3, jsonResults.size());
		assertEquals("Row 1 PlayerName value incorrect", "Juan Leone", jsonResults.get(0).path("PlayerName").path("value").asText());
		assertEquals("Row 1 PlayerAge value incorrect", "27", jsonResults.get(0).path("PlayerAge").path("value").asText());
		assertEquals("Row 1 TeamName value incorrect", "San Francisco Giants", jsonResults.get(0).path("TeamName").path("value").asText());
		assertEquals("Row 1 GraphName value incorrect", "/optic/player/triple/test", jsonResults.get(0).path("GraphName").path("value").asText());
	}

The fix to #529 eliminated one overload on pattern(), which may have been the issue here.
Do you still see the issue after fetching that commit?  If so, what is the specific error message?

Does the reassign mean you still see an issue?

Both fromTriples() calls need a cast on the first null (in this case, to String) to remove the ambiguity.
That said, we should do a usability review overloads with same arity for cases where a param with different types in the overloads will often be null.  In such cases, we might want to reduce the arity.
Could you create a separate tasks for that usability review of overloads (so the issue is owned by QA)?

Using values from
   [$options as xs:string*],
   [$query as cts:query?]
) as sem:store

and casting null to String for qualifier name value, produces the desired results.


output: drop wlr_output_mode.flags

AFAIK this was always set to zero. Instead, compute wl_output mode flags on the
fly.
Technically this is a breaking change, but I don't think anybody uses this
field.

Thanks!


Single color vector logos

Oscal compass (and compliance trestle) logos today have multiple colours and include the use of transparency.
Some environments need solid single colours (or limited) colours such as:

Flavicons
Header icons within the trestle website
Dark background slides.

Would it be possible to produce versions of the logos which fit these environments?

@vikas-agarwal76 can you follow up with @ancatri


Add support for default SQLite schemas

According to SQLite docs, there are at least two schemas supported: main and temp:

If a schema-name is specified, it must be either "main", "temp", or the name of an attached database. In this case the new table is created in the named database. If the "TEMP" or "TEMPORARY" keyword occurs between the "CREATE" and "TABLE" then the new table is created in the temp database. It is an error to specify both a schema-name and the TEMP or TEMPORARY keyword, unless the schema-name is "temp". If no schema name is specified and the TEMP keyword is not present then the table is created in the main database.

Thus, two things need to happen for this JDBC driver to be compatible with SQLite (at least from this feature perspective):

the DatabaseMetadata#getSchemas() must return at least those two schemas (main and temp); hopefully the attached database too, but I am unsure if this is possible to determine at the relevant point in the code
the DatabaseMetadata#supportsSchemasInTableDefinitions() must return true to indicate the consumers the table could be referenced either via its raw name or using a schema prefix

Currently the driver returns an empty result set for the DatabaseMetadata#getSchemas() and false for DatabaseMetadata#supportsSchemasInTableDefinitions(). This breaks some of the consumers (for instance, the applications using 3rd party APIs or the driver directly when trying to determine database schema at runtime).

#829 may be related


bug: Can't restore buffer order with pre_save hook

Did you check the docs and existing issues?

[X] I have read the docs
[X] I have searched the existing issues

Neovim version (nvim -v)
NVIM v0.10.0
Operating system/version
NixOS 24.11.20240704.a6f2adf (Vicuna) x86_64
Describe the bug
I'm using barbar as a buffer tabline and I want to preserve the buffer order when reloading the session. According to the plugin's documentation:

barbar.nvim can restore the order that your buffers were in, as well as whether a buffer was pinned. To do this, sessionoptions must contain globals, and the User SessionSavePre event must be executed before :mksession.

Now, following resession's documentation, I did this using the pre_save hook like so:
  {
    'stevearc/resession.nvim',
    config = true,
    init = function()
      vim.opt.sessionoptions:append 'globals'
      require('resession').add_hook('pre_save', function()
        vim.api.nvim_exec_autocmds('User', { pattern = 'SessionSavePre' })
      end)
    end,
  },

I've set up resession to auto load the session on login by following the Create one session per directory guide, but when the session auto-loads, the buffer order is reset to before I re-ordered them.
I also tried to use ResessionSavePre autocmd, but it's the same case:
vim.opt.sessionoptions:append 'globals'
vim.api.nvim_create_autocmd({ 'User' }, {
  pattern = 'ResessionSavePre',
  callback = function()
    vim.api.nvim_exec_autocmds('User', { pattern = 'SessionSavePre' })
  end,
})

I really want to switch to resession since it's light and fast, but I also want to be able to re-order my buffers.
What is the severity of this bug?
minor (annoyance)
Steps To Reproduce

nvim -u repro.lua
Open at least two buffers: :e file1.txt, :e file2.txt, ...
Switch their order using Alt-Shift-J or Alt-Shift-K
Quit neovim
nvim -u repro.lua

Expected Behavior
After reordering the buffers, the next time the session auto loads the buffers are loaded in their new positions.
Directory structure
./file1.txt
./file2.txt
./repro.lua
Repro
local root = vim.fn.fnamemodify('./.repro', ':p')

for _, name in ipairs { 'config', 'data', 'state', 'runtime', 'cache' } do
  vim.env[('XDG_%s_HOME'):format(name:upper())] = root .. '/' .. name
end

-- bootstrap lazy
local lazypath = root .. '/plugins/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system {
    'git',
    'clone',
    '--filter=blob:none',
    '--single-branch',
    'https://github.com/folke/lazy.nvim.git',
    lazypath,
  }
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  'folke/tokyonight.nvim',
  {
    'stevearc/resession.nvim',
    config = true,
    init = function()
      vim.opt.sessionoptions:append 'globals'
      require('resession').add_hook('pre_save', function()
        vim.api.nvim_exec_autocmds('User', { pattern = 'SessionSavePre' })
      end)
    end,
  },
  -- extra plugins
  {
    'romgrk/barbar.nvim',
    config = true,
    event = 'BufEnter',
    dependencies = {
      -- optional
      'lewis6991/gitsigns.nvim', -- git status
      'nvim-tree/nvim-web-devicons', -- file icons
    },
    init = function()
      vim.g.barbar_auto_setup = false

      local map = vim.api.nvim_set_keymap
      local opts = function(desc)
        return { desc = desc, noremap = true, silent = true }
      end

      -- Move to previous/next
      map('n', '<A-j>', '<Cmd>BufferPrevious<CR>', opts 'Go to Previous Buffer')
      map('n', '<A-k>', '<Cmd>BufferNext<CR>', opts 'Go to Next Buffer')

      -- Re-order to previous/next
      map('n', '<A-S-j>', '<Cmd>BufferMovePrevious<CR>', opts 'Move Buffer Left')
      map('n', '<A-S-k>', '<Cmd>BufferMoveNext<CR>', opts 'Move Buffer Right')
    end,
    version = '^1.0.0', -- optional: only update when a new 1.x version is released
  },
}
require('lazy').setup(plugins, {
  root = root .. '/plugins',
})

vim.cmd.colorscheme 'tokyonight'

-- Create one session per directory
vim.api.nvim_create_autocmd('VimEnter', {
  callback = function()
    -- Only load the session if nvim was started with no args
    if vim.fn.argc(-1) == 0 then
      -- Save these to a different directory, so our manual sessions don't get polluted
      require('resession').load(vim.fn.getcwd(), { dir = 'dirsession', silence_errors = true })
    end
  end,
  nested = true,
})
vim.api.nvim_create_autocmd('VimLeavePre', {
  callback = function()
    require('resession').save(vim.fn.getcwd(), { dir = 'dirsession', notify = false })
  end,
})

Did you check the bug with a clean config?

[X] I have confirmed that the bug reproduces with nvim -u repro.lua using the repro.lua file above.

I've wrote a very simple extension to solve this! Here's the code for this, I'm just not sure what to do with it:
local M = {}
local render = require("barbar.ui.render")
local state = require("barbar.state")

M.on_save = function()
  local buffers = state.export_buffers()
  return "lua require('barbar.state').restore_buffers "
    .. vim.inspect(buffers, { newline = " ", indent = "" })
end

M.on_post_load = function(data)
  if data then
    vim.api.nvim_command(data)
  end
  render.update(true)
end

return M

Not a big fan of how this works, but it's how barbar chooses to do it when integrating with typical session restore. @stevearc any comment on what I should do with this? Is there some way to separate it into it's own thing, or PR it to the barbar repo such that it can be used as an extension?

Update, have created a PR for barbar to support this. Hopefully should get merged soon.

Thanks a lot @Jackaed, your extension works amazingly!


handleJoinRequest never called?

Hi
I'm trying to hookup the ask to join functionality into RetroArch.
I followed your send_presence demo closely, the code is pretty much identical except for the game runloop of course
https://github.com/fr500/RetroArch/blob/master/discord/discord.c#L78
So here is my call to handle_join_request.
The handlers are set here:
https://github.com/fr500/RetroArch/blob/master/discord/discord.c#L182
And the callbacks are being fired, I'm logging the ready callback for instance and I have zero issues with that one:
https://github.com/fr500/RetroArch/blob/master/discord/discord.c#L49
[INFO] Loading history file: [userdata\playlists\windows\x64\history\content_video_history.lpl].
[INFO] Loading history file: [userdata\playlists\windows\x64\history\content_image_history.lpl].
[INFO] [GL]: VSync => on
[INFO] [WGL]: wglSwapInterval(1)
[WARN] [WGL]: wglSwapInterval() failed.
[INFO] [Discord] connected to user: radius#5870 - avatar id:<PHONE_NUMBER>53557760
[INFO] [Discord] updating (2)

As you can see it's firing, so on another client I hit the Ask to Join button (I have a whitelisted alt account) but nothing happens

I added exit(1) to make it close if the handler is called for testing... but nothing.
Any ideas on what I might be doing wrong?

I made sure update_callbacks is being fired every frame btw so that is not the issue either.

Have you subscribed to the events? What are you receiving in the discord console? And is your second account whitelisted on your application rp page

I get this in the console of the discord user asking to join
Hmmm, how do I subscribe to the events, is that on the documentation?

@fr500 could you look at the network tab and see what the response is for that request?

I get 5, Invalid Activity Action

Hmmm I'm not setting a partyId maybe that's the reason, let me try that

Oh yeah, totally forgot and probably should be documented. You cannot join without a party ID and join secret. You cannot spectate without a spectate secret and party ID too

When in doubt, check the handy table!
https://discordapp.com/developers/docs/rich-presence/how-to#rich-presence-field-requirements

The client shouldn't show an ask to join button if it doesn't actually work, though.


Update larkim.MessageText

MessageText 直接用 strings.Builder 构造 json 内容，结果可能是无效的json内容，尤其是当 text 内容包含双引号、换行符、unicode的时候，必须用 \\\" 和 \\\n 才可以。
所以 MessageText.Build() 也应该和其他类型一样，序列化为 json 并返回 (string, error)，才更合理。

 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.

Signed CLA.


Move SMTP auth to the config file

Implements enhancement proposed in #306.
Note: I have left support for environment variables as a fallback since we probably don't want people's alerts to break if they pull down master and don't move their credentials from env variables to the config file.
Documentation additionally updated to reflect the fact that the config file is the preferred place to store creds.

@brian-brazil updated per your feedback. I can squash as needed if you're OK with this (all into 1 commit or into 2 commits, one for code changes and the other for documentation).

That looks good, can you squash please?

@mpchadwick Thanks a lot! Added two comments.

Rebased to a single commit.

Just making that password and secret will be enough. We are just so specific for key and url because it could be something normal.

I updated the RegEx to be more loose. I agree that probably we'd always want to obscure anything matching these terms.

These all have the same prefix. Would it be worthwhile to move them into their own YAML block?

I guess it would be something like this?
global:
  # The smarthost and SMTP sender used for mail notifications.
  smtp_smarthost: 'localhost:25'
  smtp_from<EMAIL_ADDRESS>  smtp_auth:
  - username: 'alertmanager'
    password: 'password'

I didn't address it because your comment was a question, but if you'd prefer that syntax I can.

Yes, that's what I had in mind. I would say grouping things together in a block is a good idea if you have a common prefix. We did it similar to TLS configs in Prometheus.
Of course any objections can be discussed.

For TLS there were 20-30 potential fields as things expand, there's only 4 here. I'd see this along the same lines as us not having an auth field in Prometheus for basic auth vs. token vs tls.

But we do: https://github.com/prometheus/prometheus/blob/master/config/config.go#L384

We have a basic_auth, a bearer_token and a bearer_token_file all of which are auth related. These are not however nested under an auth.

Ah, I see what you mean.
So it would be symmetric to put username and password in a separate block. However, don't see strong need in general. We can leave it as it is.

Yeah. There are a few other possible auth options, but if they come up (sound to be most likely in a full-Windows environment) we can refactor this a bit.

Okay. Thanks @mpchadwick 👍

Dear @kaihendry could you be more specific or just simply paste an example of your alertmanager.yml because I'm having the same issue trying to send notification through SES and I don't understand what goes on!
time="2016-07-11T12:09:57Z" level=warning msg="Notify attempt 1 failed: *smtp.plainAuth failed: 535 Authentication Credentials Invalid" source="notify.go:193"

Thank in advance.


Using fava templates?

I really like this dashboard plugin. I was wondering if there's a way to use some of fava's included templates as an output with fava_templates?  Your setup it so flexible, I can run a bpl query and iterate over the results and generate the same html, but I'm wondering if there's a cleaner / simpler way to do this by hooking into the _query_table.html template in fava instead of effectively recreating it in each script.
Thanks!

Would using YAML anchors work? Something like the following (note the *table reference in the second panel):
- title: Last 5 expense postings
    queries:
    - bql: SELECT date, payee, narration, position WHERE account ~ "^Expenses:" ORDER BY date DESC LIMIT 5
    type: html
    script: &table |
      const rows = panel.queries[0].result.map(row => `

          ${row.date}
          ${row.payee}
          ${row.narration}
          ${row.position.units.number} ${row.position.units.currency}

      `);

      return `

              date
              payee
              narration
              position

            ${rows.join('\n')}

      `;

  - title: Last 5 income postings
    queries:
    - bql: SELECT date, payee, narration, position WHERE account ~ "^Income:" ORDER BY date DESC LIMIT 5
    type: html
    script: *table

I guess it'd be technically possible to hook directly into Fava's templates, but I'm not sure how stable they are (i.e. any change there in a future version will break the dashboard).

Oh that's cool. I didn't appreciate YAML anchors. That makes it much better for writing a custom query and getting to reuse it. What's neat about the query_table used in fava is it generates the table headers automatically from query, so you get something well-formatted just from the bql alone. I'll take a look and see if the query returns this info so that functionality can be re-created. If so, it might be a useful / general purpose script from bql->table and maybe it could be added fava-dashboard so it can be accessed in the yaml file without writing out that script.

What's neat about the query_table used in fava is it generates the table headers automatically from query, so you get something well-formatted just from the bql alone.

Hm, yeah that's quite cool indeed.
I created a draft PR to allow templates in #6, can you try it out and see if that works for your use case?

Following! I'm starting using Fava and having a dashboard with tables and such would be useful. Thanks!

That's perfect!! I just tried out the support-jinja2-templates branch and its really easy to use and super-powerful and let's me do exactly what I wanted. Thank you so much!

Awesome, thanks for reporting back!


Protobuf input support

I was looking at converting protobuf to JSON. This tool would be useful if it supported that.

@JensRantil can you elaborate? What would the input look like? A single object encoded in protobuf or a stream of objects? Some sample scenarios would be great for us to evaluate.


[test] verify if LGTM.com works

It looks that many projects are experiencing this problem: https://github.community/t/lgtm-cannot-spot-issue-in-checkout/148935

It looks that many projects are experiencing this problem: https://github.community/t/lgtm-cannot-spot-issue-in-checkout/148935

Here too: https://github.com/github/codeql/issues/4809#issuecomment-742988034

We can skip the analysis until it's fixed: https://lgtm.com/help/lgtm/using-automated-code-review#skipping-pr-analysis
We have to login first on lgtm.com

A fix has been submitted for LGTM.com https://github.com/github/codeql/issues/4809#issuecomment-743142125


Input image size on YOLACT

Hi, in the code there is a parameter name "cfg.max_size"
Did it means YOLACT resize the image to this size (to smaller/bigger size then the original image)?
If so, it's better to my to resize the image BEFOR send it to network, therfore i can use bigger k, am i right?
One more thing, when i eval image with 3840x2160 it's take about 0.04 sec.
but the same image with size 640x480 take 0.037 sec.
(I run this eval few times for each image of course)
The diffrent is  7.5%, can you explain this result?
Thanks so much!

Okay, so the process is:
Original image -> resize to 550x550 -> run YOLACT -> output masks of size 550x550 -> resize masks to original image size.
So, resizing beforehand does the same thing as that second step, but forgoes the last step, which resizes all the way back to the original image size. So yes, it's better to resize them beforehand if you don't care about the final mask size being the same size as the image.
That's also the same reason why resizing to 640x480 first is faster, since you're not spending time resizing the 550x550 masks to 3840x2160 which can take a while with bilinear interpolation.

OK, that make sense.
Thanks!

One more question, the 700 net is better then the 550 net? if so, what the relations?
thx

Typically, using bigger images increases accuracy, but drastically lowers speed. You can see the specifics in the table in the readme: im700 is 4.6% more accurate (mAP) but 28.5% slower (fps).
I don't really recommend using im700 unless speed doesn't matter much for you.

OK, thanks!


Fix typo in creating virtualenv

The checklist

[ ] Associated issue
[ ] A news fragment in the news/ directory to describe this fix with the extension .bugfix, .feature, .behavior, .doc. .vendor. or .trivial (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

Hm yeah I can see that causing some problems... that might be the hidden cause behind some issues with installing pyenv