Rectangle placeholder without className sets class to undefined

A minor issue, but if a className is not provided when using the rectangle placeholder, one of the classes applied will be `undefined.

An easy fix might be to build up the classes with an array, filter the empty ones and join it up. Happy to PR this if it's helpful.
const classes = ['rect-shape', className]
  .filter(c => c)
  .join(' ')

Oops, we probably introduced this when we stripped away the classnames dependency.
Thanks for reporting, a PR would be surely appreciated!

Closed by #25


Warning: tried to add target beyond target's input capacity --> Pipeline.swift

I have an application that plays a set of videos (via local file URLs). Each video uses the same GPUImage filters. Once a video playback has ended, it plays the next video from the set.
movieInput?.removeAllTargets()
movieInput = try MovieInput(url: movieURL, playAtActualSpeed: true)
movieInput --> greyscaleFilter --> invertFilter --> renderView
movieInput.start()

playbackTimer = Timer.scheduledTimer(
    timeInterval: CMTimeGetSeconds(movieAsset.duration),
    target: self,
    selector: #selector(handlePlaybackFinished),
    userInfo: nil,
    repeats: false
)

My issue is that, starting with the second video playback, I receive this warning:

Warning: tried to add target beyond target's input capacity --> Pipeline.swift: addTarget(_:atTargetIndex:): 43

I tried creating a new MovieInput for each playback and also tried creating a new RenderView for each playback, but still receive the warning. Anyone run into this before?

You're fully rebuilding the filter chain for each of your movie inputs. While removeAllTargets() disconnects the previous movie from the filter chain, you're then trying to reconnect greyscaleFilte, invertFilter, and renderView to each other when they're already connected. That should be what's throwing the error.
Try connecting them only once on the first movie you play, then merely swapping out the movie input as it changes.

That makes sense. I went ahead and re-factored my code to load/unload a separate view controller for each video that encapsulates the GPUImage filters. It's a little cleaner and it solves this issue.
Thanks, Brad!


rcnn example: smooth L1 loss tends to be nan?

well, I don't understand why the codes in helper/dataset/load_pascal_annotation.py(load_pascal_annotation) need to be like this:
for ix, obj in enumerate(objs):
bbox = obj.find('bndbox')
# Make pixel indexes 0-based
x1 = float(bbox.find('xmin').text)  - 1
y1 = float(bbox.find('ymin').text)  - 1
x2 = float(bbox.find('xmax').text)  - 1
y2 = float(bbox.find('ymax').text)  - 1
cls = class_to_index[obj.find('name').text.lower().strip()]
boxes[ix, :] = [x1, y1, x2, y2]
gt_classes[ix] = cls
overlaps[ix, cls] = 1.0
My question is why we need to -1 here, In my experiments it will generate some weird 65535 as the xmin number(not test the other three yet) into ***gt_roidb.pkl file. and then the training smooth L1 loss tends to be nan because of the codes below(helper/peocessing/bbox_transform.py(bbox_transform)):
ex_widths = ex_rois[:, 2] - ex_rois[:, 0] + 1.0
ex_heights = ex_rois[:, 3] - ex_rois[:, 1] + 1.0
ex_ctr_x = ex_rois[:, 0] + 0.5 * (ex_widths - 1.0)
ex_ctr_y = ex_rois[:, 1] + 0.5 * (ex_heights - 1.0)

gt_widths = gt_rois[:, 2] - gt_rois[:, 0] + 1.0
gt_heights = gt_rois[:, 3] - gt_rois[:, 1] + 1.0
gt_ctr_x = gt_rois[:, 0] + 0.5 * (gt_widths - 1.0)
gt_ctr_y = gt_rois[:, 1] + 0.5 * (gt_heights - 1.0)

targets_dx = (gt_ctr_x - ex_ctr_x) / (ex_widths + 1e-14)
targets_dy = (gt_ctr_y - ex_ctr_y) / (ex_heights + 1e-14)
targets_dw = np.log(gt_widths / ex_widths)

print gt_rois[:, 2]
print gt_rois[:, 0]
print gt_widths
print ex_widths
print gt_widths / ex_widths
print targets_dw
print '=' * 60
targets_dh = np.log(gt_heights / ex_heights)

So I delete -1 in the previous codes and it works. but another problem is when it come to flip the dataset, the assert command tiggered(helper/peocessing/roidb.py(append_flipped_images))：
    for i in range(self.num_images):
        boxes = roidb[i]['boxes'].copy()
        oldx1 = boxes[:, 0].copy()
        oldx2 = boxes[:, 2].copy()
        boxes[:, 0] = widths[i] - oldx2 - 1
        boxes[:, 2] = widths[i] - oldx1 - 1
        assert (boxes[:, 2] >= boxes[:, 0]).all()
        entry = {'boxes': boxes,
                 'gt_classes': roidb[i]['gt_classes'],
                 'gt_overlaps': roidb[i]['gt_overlaps'],
                 'flipped': True}
        roidb.append(entry)

@precedenceguo

VOCdevkit is matlab code. matlab starts from 1. numpy starts from 0. UCar competition data starts from zero.

that make sense!


Allow me to add comment.

Allow me to add comment in issue -

I don't know wth you're talking about.


Value selector in "failed to match value for parameter" does not list all available values

$ inventree-part-import -o tme 54601-908WPLF
[...]
failed to match some parameters from 'https://www.tme.eu/cz/details/54601-908wplf/konektory-rj/amphenol-communications-solutions/'

failed to match value for parameter 'Mounting Type', select value:
> Amphenol Communications Solutions | Výrobce
  RJ45                              | Typ konektoru
  8                                 | Počet pinů
  zásuvka                           | Konektor
  Cat 3                             | Kategorie Ethernet
  Enter Value Manually ...
  Skip ...
Aborting Execution! (KeyboardInterrupt)

There is a parameter called "Elektrická montáž", but it is not listed by the value selector and thus an alias cannot be created interactively. After modifying my parameters.yaml:
Mounting Type:
    _aliases:
        # ...
        - Elektrická montáž

and re-running the import, the parameter was matched correctly (no user interaction required).

The interactive selection menus only show a limited number of options, sorted by closest matching (via fuzzy string matching). If you use multiple languages this obviously won't work well. Always showing all parameters/categories is not an option, as that'd clutter up the console too much. This could be a settable config variable though.
Any particular reason you don't just set your TME language to en? (Or alternatively: Your InvenTree category/parameter names to czech?)

Any particular reason you don't just set your TME language to en

Coincidentally, I have just done that. I did not do it initially because I needed TME links to be in Czech (otherwise, I have to go through the process of setting the language and currency every time I open one of them). I have written a custom hook that translates URLs, so now I am using language: en.
I do remember this happening in English, too, but it should be way less common.
Perhaps an "Enter parameter name manually" option could be added? That could make it possible to create the alias interactively. No need to list available parameters as it already prints a link to TME.

Yeah, sounds good. Seemed easy to implement, so here we go. Would be great if you could test if it actually works 😅

I did not do it initially because I needed TME links to be in Czech (otherwise, I have to go through the process of setting the language and currency every time I open one of them). I have written a custom hook that translates URLs, so now I am using language: en.

Ah yeah, I get that, that's annoying indeed. The hook is also the perfect solution btw ^^

It seems to be working perfectly. Thanks!

The hook is also the perfect solution btw

It wasn't until I read your configs that I realized I could use a hook to modify the URL. It seems like best solution to me, too.

Yep, I really like the hooks :P
They just enable you to do anything you want on the input data!


Extension allowing the use of a different certstream server

Hi there,
I have added a few methods to allow users to use this library with another / their own certstream server instead of always having to access the default server "certstream.calidog.io".
Thank you for providing this project! Looking forward to your response.

@nitram22 I love the code contribution, but can I ask about use case?

@nitram22 cut release 0.3.2 with your changes

Thank you very much !
And thanks a lot for providing this great project ! It facilitates the work of everyone who wants to create a CT-Monitor.


Cannot update automatically created secret - name too long

Please provide us with the following information:

This issue is a: (mark with an x)

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
When you create a container app with an external registry (e.g. GHCR) it creates a secret to store the token needed to log in. But when I try to update the token through Azure CLI, I get an error message: "Secret names cannot be longer than 20."
Steps to reproduce

Create container app on Azure portal, with an image from GHCR
Create a GH personal token and give it to the app so it can access private packages
Regenerate the token (i.e. upon expiry) and run: az containerapp secret set -n MyApp -g MyRG --secrets reg-pswd-abcd1234-ab12=MySecretToken, where reg-pswd-abcd1234-ab12 is the name of the secret automatically generated upon the app's creation

Expected behavior [What you expected to happen.]
The secret value gets replaced by the new value
Actual behavior [What actually happened.]
ERROR: Secret names cannot be longer than 20. Please shorten reg-pswd-abcd1234-ab12 and exits with code 1

We're hoping to prioritize this issue soon.

@simonjj It would be fabulous if you could prioritize this! Any length seems to be supported already for the env commands in az containerapp update. This constraing is currently a major issue for my team as we want to set & update secrets + env vars for the container app (which was provisioned through Terraform) in our cicd pipelines.
There doesn't seem to be an easy workaround for this if you want to account new / changing secrets names. One could either use an IaC module to update the container app, it's secrets and env variables or dynamically generate a YAML file. Both options sound like overkill for something that could be done through the cli tool.


Add OpenHPC 2/3 repos for EL8/9

Note existing repofiles for this are defined at https://github.com/stackhpc/ansible-role-openhpc/blob/master/defaults/main.yml#L51, except they use centos instead of EL (which apparently is a symlink on the server)

Repo sync running: https://github.com/stackhpc/stackhpc-release-train/actions/runs/12390943537


i can't find the 119 usdc bridger from boba to bsc?

Issue Type

[ x] bug report
[ ] feature request

Current Behavior

Expected Behavior

Steps to Reproduce

Suggested Fix

hey i can't find the 119 usdc bridger from boba to bsc? https://blockexplorer.bnb.boba.network/tx/0xec947929897d3bdb388a333d07ca77108177829e4e9bf16d286104d8f5d5e923 with
https://gateway.bnb.boba.network/wallet

Hi! Here is the tx for your 119 USDC. https://bscscan.com/tx/0xd70511dd71020cdd0a92b84e6a1058c9c15d614ea3a1f27ef77c3251ffab3bbb


IP whitelist for mod-dbs-trial

What
Add an IP address for mod-dbs-trial to the whitelist
https://gaap.deskpro.com/agent/#app.tickets,t:3858
#140768615
How to review
Check the ip matches that in the deskpro ticket and the changes look like they will work
Who can review
Anyone but me

:+1: Looks good to me.  Will merge when Travis is green.


Error: "link failed but did not provide an info log" on Ubuntu 20.04, VS Code Version 1.83.1

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

VS Code Version: 1.83.1
OS Version: Ubuntu 20.04

Steps to Reproduce:

Open Visual Studio Code.

This is how visual studio code looks
Running the code --verbose command I get the following result
// Vertex SKSL
#extension GL_NV_shader_noperspective_interpolation: require
uniform float4 sk_RTAdjust;in float2 position;in half4 color;flat out half4 vcolor_S0;void main() {// Primitive Processor QuadPerEdgeAAGeometryProcessor
vcolor_S0 = color;sk_Position = position.xy01;}
// Fragment SKSL
#extension GL_NV_shader_noperspective_interpolation: require
flat in half4 vcolor_S0;void main() {// Stage 0, QuadPerEdgeAAGeometryProcessor
half4 outputColor_S0;outputColor_S0 = vcolor_S0;const half4 outputCoverage_S0 = half4(1);{ // Xfer Processor: Porter Duff
sk_FragColor = outputColor_S0 * outputCoverage_S0;}}
// Vertex GLSL
#version 300 es

#extension GL_NV_shader_noperspective_interpolation : require
precision mediump float;
precision mediump sampler2D;
uniform highp vec4 sk_RTAdjust;
in highp vec2 position;
in mediump vec4 color;
flat out mediump vec4 vcolor_S0;
void main() {
vcolor_S0 = color;
gl_Position = vec4(position, 0.0, 1.0);
gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w);
}
// Fragment GLSL
#version 300 es
#extension GL_NV_shader_noperspective_interpolation : require
precision mediump float;
precision mediump sampler2D;
out mediump vec4 sk_FragColor;
flat in mediump vec4 vcolor_S0;
void main() {
mediump vec4 outputColor_S0;
outputColor_S0 = vcolor_S0;
{
sk_FragColor = outputColor_S0;
}
}
Errors:
link failed but did not provide an info log
[81471:1012/122040.002193:WARNING:angle_platform_impl.cc(48)] ProgramGL.cpp:989 (checkLinkStatus): Program link or binary loading failed with no info log.
[81471:1012/122040.002594:ERROR:shared_context_state.cc(81)] Skia shader compilation error

I'm experiencing the same problem, and reinstalling the software didn't resolve the issue.

I experience the same problem on OpenSuse Tumbleweed.
VS Code Version: 1.83.1
OS Version: OpenSuse Tumbleweed ID:20231011
nils@laptop &> ./code --verbose --disable-extensions
<...>
Errors:
link failed but did not provide an info log
[6056:1013/091240.276752:WARNING:angle_platform_impl.cc(48)] ProgramGL.cpp:989 (checkLinkStatus): Program link or binary loading failed with no info log.
[6056:1013/091240.276901:ERROR:shared_context_state.cc(81)] Skia shader compilation error

Solution
Delete the GPUCache folder:
rm -r ~/.config/Code/GPUCache/

I found the solution here, because there was also a rendering problem on Chromium some months ago.

Solution
Delete the GPUCache folder:
rm -r ~/.config/Code/GPUCache/

This solution worked for me, thank you very much!


test: Incorrect props in tests

Dropdown, MultiSelect, Select, Tabs and RangeBar all were using what I am assuming are old and outdated props. This PR aims to fix them.
Fixes #93

thanks for the fix! Will also merge PR#92 tomorrow.


Add Rust solution link in readme.

Changelogs:

add Rust language solution link in readme.

Shout out to @adumbidiot ! Great job! https://github.com/adumbidiot/lz-str-rs


mission: remove TRIGGER_CONTROL

It turns out that you can enable distance-based triggering just using the command SET_CAM_TRIGG_DIST and you don't have to explicitly start and stop the triggering with TRIGGER_CONTROL.
This makes the logic simpler, removes some overhead of mission items having to be sent, and moves it closer to the implementation of QGroundControl.
FYI @RomanBapst

So the fact that the parameter is set to a non-zero value also makes it take pictures (and stop when it is set back to 0)? And is that the behavior that MAVLink wants?

@JonasVautherin correct!


187232408 numberline bug change min max

Fulfills the following ticket: [NLine] Numberline Bug - Change Min/Max
This removes any points that are less than the newly set min or points that are greater than the newly set max.

LocalHost
http://localhost:8080/?appMode=demo&demoName=dennis&fakeClass=1&fakeUser=teacher:1&unit=msa&problem=1.1
Deployed Link
https://collaborative-learning.concord.org/branch/numberline-bug-change-min-max/?appMode=demo&demoName=dennis3&fakeClass=1&fakeUser=teacher:1&unit=example

This looks good, but I'm going to try to add a unit test before approving.

The approach in this implementation isn't what is desired. The points shouldn't be deleted when they are outside of the bounds. The points should just be hidden.


evm-types: #rangeUInt expressed from pow256, pow160. faster symbolic

Awesome, thanks. This is a change I've wanted made for a while.

@denis-bogdanas @ehildenb
#range* were written using [min, max] instead of [min, max+1) because for #range*Fixed, max+1 doesn't make much sense.  So, for all #range* to be uniform, the [min, max] form was used.
Also, the intention was (although never had a chance to do) to change all X < pow256 terms to X <= maxUInt256, and 0 <= X andBool X < pow256 to #rangeUInt(256, X) in lemma files.
Also, in the mean time, we used to have the normalization:
    rule X <=Int maxUInt256 => X <Int pow256
    rule X <=Int maxUInt160 => X <Int pow160
    rule X <=Int 255        => X <Int 256

I still prefer the interval [0,pow256) to [0,maxUInt256]. But if you want to open a PR making all the semantics more uniform in one direction or the other, feel free.
Another thing we should do is make all the comparison directions use _<Int_ or _<=Int_, and never _>Int_ or _>=Int_, because it speeds up removing side-conditions via just matching/rewriting instead of asking SMT.
Anyway, @denis-bogdanas reported that this PR resulted in roughly a 7-12% speedup for him, so I think it's good.

I largely agree with you.  Just for the record:

Another thing we should do is make all the comparison directions use <Int or <=Int, and never >Int or >=Int, because it speeds up removing side-conditions via just matching/rewriting instead of asking SMT.

For this, we used to have:
    rule X >Int Y => Y <Int X
    rule X >=Int Y => Y <=Int X

@denis-bogdanas Is it the case we don't have the normalization rules any longer?  If so, why?  Do they hurt the performance?

Inequality direction normalization lemmas are still present in VSC and in KEVM/LEMMAS-JAVA module. But not in KEVM/LEMMAS-HASKELL Adding lemmas above is unlikely to increase performance because in all usage places the arguments are expected to be concrete. Only when we deal with variable size byte arrays those lemmas should have a lot of impact.
@virgil-serbanuta You did some early work on cleaning up lemmas for Haskell+ERC20. Do you remember why it was necessary to remove lemmas above? Or you just tried to have as few lemmas as possible to reduce chances of problems.

I don't remember anything about lemmas like these. If I removed them (did I?), most likely it was because there were too many lemmas that did not work with the Haskell backend, and I removed everything that didn't seem mandatory. Do you know in which commit/PR they were removed?

Judging by version history, @yzhang90 created module LEMMAS-HASKELL. But it doesn't matter now. We'll add lemmas from Java backend back to Haskell when they at least should not decrease performance.


fix future import with py2exe

Still not working. Looks like future.standard_library is a problem for the binaries. See https://github.com/PythonCharmers/python-future/issues/31#issuecomment-33728277


Listing

Fixing invalid prints during listing firstly because relToRoot for some reason was being resolved relative to the cwd and not to root, so unnecessary conversion required.
Secondly joining of paths was tripping out because root is usually '/', joining '/' with fileName with separator '/' results in an invalid path.
This PR addresses https://github.com/odeke-em/drive/issues/97

cc @kcwu

LGTM


Partially rewrite django-suspense to use StreamingResponse

After experimenting with Suspense on Next.js, I was looking into implementing myself a django-suspense package.
While looking if someone had the same idea, I found your project.
Very nice job and very nice package name by the way 👌.
However, while digging the code of this project I noticed it was diverging from Next.js's approach while providing a similar result with a few drawbacks (see below).
The current implementation
The current implementation relies on a task pool on the same worker and then each tag starts a separate http request to wait for the result.

This does not work well with multiple workers and in the cloud.
Also since it may use a lot of http request it could cause a denial of service.
The new implementation
This new implementation uses a technique similar to Next.js with a streaming response and async requests. Which solves most of the problems. The requests can be aborted/cancelled.

It requires to use an ASGI server because of the async nature of the implementation.
WSGI and runserver will unfortunately proceess the requests as synchronous. I would not consider supporting them at all since it does not make any sense to me. This is why all the code thread pool code of the current implementation was removed.
You will notice a lot of your original code on the tags is preserved it is awesome.
Notes
I already experimented with async requests and streaming responses while maintaining my library django-structlog.
Conclusion
If you are not interested at all by these breaking changes this is completely fine.
I will consider maintaining a separate version Ex: django-suspense-asgi. I believe this new implementation is the future but I understand if the differences are not expected.
There's still work to do but I wanted to share a draft with you as soon as I was satisfied.
The discussion is open.

I also noticed that it doesn't work in Safari. In Google Chrome, it works.

I'll do more test tonight then.

this hack works on safari:
https://github.com/remix-run/remix/issues/5804#issuecomment-2198844456
I have to look further into this.


snirf import - source or detector position

Describe the bug
The import of snirf data from an Artinis-portalite device cause an assert error.
The device have 3 sources but only one detector which leads to a 2D position format error.
Expected results
in RawSNIRF class code:
detPos2D = np.array(dat.get('nirs/probe/detectorPos2D'))

shape of detPos2D:
detPos2D.shape --> (2,)
len(detPos2D.shape) --> 1

Solution

for oxy4 file directly converted in snirf : correction of detPos2D to be able to create detPos3D

detPos2D = np.array(dat.get('nirs/probe/detectorPos2D'))
if len(detPos2D.shape) == 1:
> detPos2D = detPos2D.reshape(len(detectors), 2)

for oxy4 file converted in nirs then in snirf : correction of detPos3D

if len(detectors) != detPos3D.shape[0]:
> detPos3D = detPos3D.T
> assert len(detectors) == detPos3D.shape[0]

ping @rob-luke, our fNIRS expert

Thanks for submitting this issue @Helianthus89. Sorry for the delayed response.
I have not used the Artinis-portalite before, but if the file is in snirf format we should (in theory) be able to read it. Can you share an example file with me and I can try and debug what the issue is?

@rob-luke , here you'll find a file in both format oxy4 and snirf, and the optode template to be able to convert oxy4 to an other format. I also include my modified version of the mne import function.
portalite_mne.zip

Sorry for the delay getting back to you @Helianthus89
The file you provided is not a valid SNIRF file. I tested this by using the SNIRF validator from the Boston University Neurophotonics Center.
In [1]: import snirf

In [2]: v = snirf.validateSnirf("/Users/rluke/Downloads/portalite_mne/portalite_record.snirf")

In [3]: v
Out[3]: <snirf.pysnirf2.ValidationResult object at 0x10877d820> is_valid False

There are a number of errors with the file. It would be great if you could ask the manufacturer to ensure their files are valid using the official validator.
However, we can try and make it so you can load the file in MNE. I have managed to get the files to load, and I can submit this fix as a pull request to MNE. But first, can you help me understand how the portalite system works—how do you tell the software where the source and detector optodes are? Or does that not matter? Can you share with me where the sources and detectors were placed for the file you shared?
Thanks, Rob

And for anyone reading along, a fix seems to be to edit line 203 of the snirf.py to include
            # Fix issue when there is only one optode
            if detPos3D.shape == (3, 1):
                detPos3D = detPos3D.T
            if srcPos3D.shape == (3, 1):
                srcPos3D = srcPos3D.T
            assert len(sources) == srcPos3D.shape[0]
            assert len(detectors) == detPos3D.shape[0]

Thanks for the feedback @Helianthus89
Can I use the snirf file you shared as test data for MNE? Then I can submit a fix for the bug you found where there is only 1 source or detector.
We will also need to find a way to allow you to specify the S-D distance manually (for beer-lambert law), as you don't have accurate spatial information in the file. Once the fix for the data input is merged I can tackle this change to the API for beer lambert.

We will also need to find a way to allow you to specify the S-D distance manually (for beer-lambert law), as you don't have accurate spatial information in the file. Once the fix for the data input is merged I can tackle this change to the API for beer lambert.

To me the right fix is to create and apply a montage with S* and D* channels that is as close to reality as possible. Then you get a lot of stuff for free (e.g., all sensor plots become reasonable instead of potentially nonsensical) in addition to having things set up properly for beer-lambert

@rob-luke, of course you can use data-files i shared here, data are anonymised so it's ok.
I'm not sur to well understand the last part of your post. After adapted the import function to be able to transform 1D to 3D optodes positions, i was able to process my data like any other nirs data (OD then BL). Do you think that the lack of precision about optodes location could be induce a wrong Beer-Lambert conversion ?

Hi @jeanbaptiste-billaud,
Just came across this issue by doing a search for Artinis support in MNE. Hopefully you managed to solve your issue already. I had issues with non-supported fNIRS devices in the past and used some workarounds that you can find here: https://github.com/HanBnrd/NIRSimple/blob/master/examples/simple_probe.ipynb. You will however lose optode positions in that process, but it can be useful in cases where you only care about source-detector distances and not positions.
Hope that helps, good luck!


chore: remove deprecated runtime python36

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

FYI, this should be merged after merging SAM CLI PR: https://github.com/aws/aws-sam-cli/pull/4635


CI: Update EPICS installation to account for thrashed packaging.

Closing. We should adopt the approach we use in caproto here.


Attaching obb files to new apk from prev apk

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
Hi! How can I load apk to Developer Console and attach to this apk obb file, which was already loaded with previous apk? When I load apk with supply function, no obb file will be attached to apk, but it would be good if obb files will be attached to new apk from previous apk by default.
Environment
GS Mobile Developers Account, [11.01.17 13:10]
✅ fastlane environment ✅
Stack

Key
Value

OS
10.11.6

Ruby
2.0.0

Bundler?
false

Git
git version 2.9.0

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.11.6 (15G31)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib

OpenSSL Version
OpenSSL 0.9.8zc 19 Mar 2015

Is contained
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

System Locale

Variable
Value

LANG
ru_RU.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
./fastlane/Fastfile
ruby
Customise this file, documentation can be found here:
https://github.com/fastlane/fastlane/tree/master/fastlane/docs
All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md
can also be listed using the fastlane actions command
Change the syntax highlighting to Ruby
All lines starting with a # are ignored when running fastlane
If you want to automatically update fastlane if a new version is available:
update_fastlane
This is the minimum version number required.
Update this, if you use features of a newer version
fastlane_version "2.7.0"
default_platform :android
platform :android do
before_all do
ENV["CRASHLYTICS_API_TOKEN"] = "1d22b1c5af737ceefbc64d95eb5976ebc35eb72d"
ENV["CRASHLYTICS_BUILD_SECRET"] = "f03d3a13592ee0018cc142b6285a858afac01da8a33127e17b84aba45f4fad7e"
end
desc "Deploy a new RC version to the Google Play"
lane :rc do
gradle(task: "clean")
gradle(task: "assemble", flavor: ENV["flavor"], build_type: "Release")
supply(track: "beta", apk: "/Users/ci/android/mapmobile/build/SscClient-MapMobile-release.apk",  skip_upload_metadata: true, skip_upload_images: true, skip_upload_screenshots: true)
end
after_all do |lane|
# This block is called, only if the executed lane was successful
# slack(
#   message: "Successfully deployed new App Update."
# )

end
error do |lane, exception|
# slack(
#   message: exception.message,
#   success: false
# )
end
end

GS Mobile Developers Account, [11.01.17 13:10]
./fastlane/Appfile
fastlane gems

Gem
Version
Update-Status

fastlane
2.7.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

rouge
1.11.1

xcpretty
0.2.4

multipart-post
2.0.0

word_wrap
1.0.0

babosa
1.0.2

colored
1.2

faraday-cookie_jar
0.0.6

gh_inspector
1.0.2

highline
1.7.8

mini_magick
4.5.1

multi_json
1.12.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

json
1.8.3

commander
4.4.3

excon
0.54.0

rubyzip
1.2.0

plist
3.2.0

claide
1.0.1

nanaimo
0.2.3

xcodeproj
1.4.2

bundler
1.13.6

terminal-table
1.7.3

unicode-display_width
1.1.2

generated on: 2017-01-11
GS Mobile Developers Account, [11.01.17 13:10]

@urmanchevandrey Thanks for the question. Does this behavior happen automatically in the developer console when you upload a new apk manually?

After uploading apk to console you will see form with information about uploaded apk and two spinners with lists of previously loaded main and patch obbs, in these spinners selected those main and patch file, which were selected after previous apk loading. Then I just click on "Publish" button, and new apk will be available on Google Play.


Cloudinary Angular2 SDK for image management

Thanks for this awesome list!
It was an excellent source of information when creating the new Cloudinary Angular SDK.
If you're not familiar with Cloudinary yet, it is an image and video SaaS solution for developers.
I've published a blog post describing the SDK and it would be great to have it featured here.
https://cloudinary.com/blog/new_angular_sdk_for_image_management_more_than_meets_the_eye

@eitanp461 Please make a PR with your addition and it will be merged in.


chore: migrate axios to node fetch

Monika Pull Request (PR)
What feature/issue does this PR add

Migrate axios to node-fetch

How did you implement / how did you fix it

Remove axios library
Implement http probing with node-fetch
Update corresponding tests
Changed msw dev dependency to msw@next for testing support node-fetch and Node v18

How to test

Closing this issue to split into multiple PR


Race HP incorrect

Kiirinta has 4 HP, stated correctly in description, in details it got 5 tp which results in wrong TP on character sheet ^^

This issue is fixed with pull #385

This was released with v<IP_ADDRESS>. I'm pretty sure it can be closed


More storage needed for the web server file system

While running the IDEAS IBASH workshop, I'm running into an error when trying to run the Converts NIFTI to 256 conformed MGZ file command:
org.mandas.docker.client.exceptions.ImagePullFailedException: Image pull failed: healthbioscienceideas/fastsurfer:gpu: ProgressMessage{id=null, status=null, stream=null, error=write /var/lib/docker/tmp/GetImageBlob4206791876: no space left on device, progress=null, progressDetail=null, buildImageId=null, digest=null}

In particular, the no space left on device seems to indicate we're running out of storage.
We should probably increase the root_block_device_size in terraform.tfvars_sample:
https://github.com/UCL-MIRSG/xnat-aws/blob/2c9a6a1ea9e21fbb5c5c8a1de4acc3d178137756/provision/terraform.tfvars_sample#L33-L35

Also root_block_device["xnat_db"] isn't used anywhere, so should probably remove that.

that's strange, the EFS should be being used for storing all the data, and it should expand as necessary

Hmm yeah not sure yet what's happening, I'll play around with these settings and see if I can get it to work.

So after increasing the xnat_web and xnat_cserv root block device sizes to 30 GB, the no space left on device error disappeared, but now I'm getting a new one:
Could not create container from image healthbioscienceideas/fastsurfer:gpu

Note that before, for some reason (can't remember where it came from) I had 30 GB for the xnat_web block size and 10 GB for the xnat_cserv block size. So the original error might have been due to that difference? Maybe we should just use a single root_block_device_size variable and use that for both the web server and the container?

we previously increased the size of the root block device to 30 GB (https://github.com/UCL-MIRSG/xnat-aws/issues/32) so we didn't run out of disk space after uploading the data. But now the data should all be stored in the EFS rather than root block device, so there might be an issue with the symlink between /data (root block device) and /storage/data (mounted EFS volume) not being created correctly

Could not create container from image healthbioscienceideas/fastsurfer:gpu

I just checked and the image does exist with that tag (https://hub.docker.com/layers/healthbioscienceideas/fastsurfer/gpu/images/sha256-8110b0a8e4ae31a96ca3993ffee039200bb5f8aa53287ec575b271e884f00608?context=explore), so maybe there's an issue in the Dockerfile for that image. Was there any more info in the error message?

Nope, only that, I just tried with deepmi/fastsurfer:latest instead, but same error 😕
The dcm2niix container still works though, so it's not a general Docker container problem.

Might be related to #51


Get the score from the engine

When playing against an engine, can you use its response to estimate the score when the game is over? The best is to instantly give the score when the game is over and thus to not wait for the player's input.

Can you clarify? What do you mean by "game is over"? Sabaki will automatically enter scoring mode if there are two consecutive passes. Also, when the engine resigns, it doesn't make sense to score the game.

Damn, you're right. I was willing to test the scoring mode when the engine suddenly resigned... Nevertheless I want to get the final results without the player's input. Maybe I will code it in a fork. I will certainly close this issue.


taco run ios launches simulator, not device

Taco v.1.2.0, iOS 8.+ & iOS 9.2.1, Taco kit 3.0.0.
Using command line: "taco run ios" (optional: --livereload), taco will start the simulator. Reading in the documentation, it hints that this is the fallback if no device is plugged in.
Device is plugged in. Tried numerous devices, different iOS versions. Works correctly using Visual Studio Codes Cordova Tools. Also works correctly using Xcode.
Thoughts/Suggestions?

You can force it to target a device if you pass --device. I believe that the default behavior differs between android and ios, but it should match the behavior of the equivalent cordova command. For iOS I believe it always uses the simulator unless you explicitly ask for a --device build.

Thank you @MSLaguana , I must have missed that.
For completion:

As advised taco run ios --device --livereload
Error, regarding ios-deploy not being installed
npm install -g ios-deploy
Works


Unit test assertions about errors always pass

Expected behavior
The unit tests would fail when invalid assertions are made about the errors being thrown
Actual behavior
The unit tests pass, even when making invalid assertions about the errors that are being thrown
Steps to reproduce the issue

Download Pharos Locally
Open the pharos icon tests file
Change the "throws an error for an invalid icon name" assertion to be something silly:

  it('throws an error for an invalid icon name', async () => {
    component = await fixture(html` <test-pharos-icon name="fake"></test-pharos-icon> `).catch(
      (e) => e
    );
    expect('Could not find the moon').to.be.thrown;
  });

Run tests using yarn test
See that the tests still pass

Pharos version
12.21.0 - latest develop branch
Your environment

OS: macOS
Browser: N/A
Version: N/A

Additional information
It looks like this is just the wrong syntax when using chai, and it should be something like
expect(badFn).to.throw('salmon');

While I found this in the pharos-icon component, a similar syntax is used in 18 other places in the library and should probably all be fixed
/pharos/packages/pharos/src/components/alert/pharos-alert.test.ts
  25,47:     expect('status is a required attribute.').to.be.thrown;

/pharos/packages/pharos/src/components/button/pharos-button.test.ts
  141,82:       expect('fake is not a valid type. Valid types are: button, submit, reset').to.be.thrown;

/pharos/packages/pharos/src/components/heading/pharos-heading.test.ts
  43,46:     expect('level is a required attribute.').to.be.thrown;
  50,82:     expect('7 is not a valid heading level. Valid levels are: 1, 2, 3, 4, 5, 6').to.be.thrown;
  59,7:     ).to.be.thrown;

/pharos/packages/pharos/src/components/icon/pharos-icon.test.ts
  21,39:     expect('Could not find the moon').to.be.thrown;

/pharos/packages/pharos/src/components/image-card/pharos-image-card.test.ts
  137,81:     expect('fake is not a valid variant. Valid variants are: base, collection').to.be.thrown;
  151,7:     ).to.be.thrown;
  165,7:     ).to.be.thrown;

/pharos/packages/pharos/src/components/layout/pharos-layout.test.ts
  58,7:     ).to.be.thrown;

/pharos/packages/pharos/src/components/modal/pharos-modal.test.ts
  372,79:     expect('fake is not a valid size. Valid sizes are: small, medium, large').to.be.thrown;

/pharos/packages/pharos/src/components/text-input/pharos-text-input.test.ts
  172,7:     ).to.be.thrown;

/pharos/packages/pharos/src/components/textarea/pharos-textarea.test.ts
  96,8:       .to.be.thrown;
  114,76:     expect('blah is not a valid wrap value. Valid values are: soft, hard').to.be.thrown;

/pharos/packages/pharos/src/components/toast/pharos-toast.test.ts
  26,78:     expect('fake is not a valid status. Valid statuses are: success, error').to.be.thrown;

/pharos/packages/pharos/src/components/toggle-button-group/pharos-toggle-button.test.ts
  33,7:     ).to.be.thrown;

/pharos/packages/pharos/src/components/tooltip/pharos-tooltip.test.ts
  124,7:     ).to.be.thrown;
  181,7:     ).to.be.thrown;

Looked into this a little bit more, it seems like it is because fixture() is returning a promise, so chai is seeing a failed promise but not an actual error. It looks like https://github.com/domenic/chai-as-promised/ was created to extend chai and handle this but since we are using chai through @open-wc/testing' I'm not sure how to extent it like that.
I'll look into it more later, but wanted to share thoughts so far

documentation on how to test open-wc component initialization
https://open-wc.org/guides/knowledge/testing/initialization/

nice find Brent.
there is a closed issue in open-wc relating to chai-as-promised
https://github.com/open-wc/open-wc/issues/2284


LicenseListPublisher hangs when exiting

This looks like a problem with the underlying JGit library. After waiting 12+ hours, the applications never exits. Until this is resolved, the LicenseListPublish should not be used.
Following is a thread dump after pausing execution under Eclipse:
Thread [pool-2-thread-1] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
AbstractQueuedSynchronizer$ConditionObject.await() line: not available
LinkedBlockingQueue.take() line: not available
ThreadPoolExecutor.getTask() line: not available
ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: not available
ThreadPoolExecutor$Worker.run() line: not available
Thread.run() line: not available
Daemon Thread [JGit-WorkQueue] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.parkNanos(Object, long) line: not available
AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) line: not available
ScheduledThreadPoolExecutor$DelayedWorkQueue.take() line: not available [local variables unavailable]
ScheduledThreadPoolExecutor$DelayedWorkQueue.take() line: not available
ScheduledThreadPoolExecutor(ThreadPoolExecutor).getTask() line: not available
ScheduledThreadPoolExecutor(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: not available
ThreadPoolExecutor$Worker.run() line: not available [local variables unavailable]
Thread.run() line: not available [local variables unavailable]
Thread [DestroyJavaVM] (Suspended)

Moved from https://github.com/spdx/tools/issues/143

This utility is no longer in use - closing


DS-3447 : ORCID v2 integration (using DSpace/orcid-jaxb-api)

This PR is an alternate to #2028, including only the changes needed to core DSpace classes
It cherry-picks the cored DSpace API changes from #2028, excluding any of the added org.orcid.* classes in favor of https://github.com/DSpace/orcid-jaxb-api
It adds in a new dependency on orcid-jaxb-api version 2.1.0-SNAPSHOT. This 2.1.0-SNAPSHOT dependency is the exact code generated by https://github.com/DSpace/orcid-jaxb-api/pull/1
Additional minor code refactoring was necessary to align code with the orcid-jaxb-api, as a few classes/methods have different names now.
This PR has not yet been tested, but it does compile.
DO NOT MERGE UNTIL THE FOLLOWING IS COMPLETE:

[ ] This PR must be tested fully to ensure it provides the same behavior as #2028.
[ ] Assuming tests succeed, then https://github.com/DSpace/orcid-jaxb-api/pull/1 must be merged
[ ] An official 2.1.0 release of orcid-jaxb-api should be cut & sent to Maven Central
[ ] This PR's POM dependency should be updated to use that official release.
[ ] Finally, this PR can be merged, once all the above is completed.

Pinging @jonas-atmire , @benbosman and anyone else interested for reviews / testing / feedback.

Travis-CI build failed, but it was not a real error, I don't think (the case of the mysterious disappearing dspace API dependency) so I've manually restarted the build to see if that helps..

@kshepherd : thanks for the notes you made here. This PR has now been fixed, as I removed the unnecessary org.orcid.utils.* classes that were accidentally included.

When searching in the AJAX popup, whether from Submission Form or an Item Edit screen, I get an unmarshall error. I've tested to make sure I can reach the ORCID v2 API endpoint and that seems fine...
Looking at [https://members.orcid.org/api/tutorial/search-orcid-registry] (v2.1 examples), I've realised that though clientId and clientSecret are referred to and passed in the commits included here, there's no config reference to them. I assume they should be coming in via spring? Am I missing something?
2018-05-02 02:43:35,424 ERROR org.dspace.content.authority.SolrAuthority @ Error java.lang.RuntimeException: Unable to unmarshall orcid messagejavax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"html"). Expected elements are < {http://www.orcid.org/ns/search}search>         at org.dspace.authority.orcid.xml.Converter.unmarshall(Converter.java:42)         at org.dspace.authority.orcid.xml.XMLtoBio.convert(XMLtoBio.java:44)         at org.dspace.authority.orcid.Orcidv2.queryBio(Orcidv2.java:163)         at org.dspace.authority.orcid.Orcidv2.queryBio(Orcidv2.java:174)         at org.dspace.authority.orcid.Orcidv2.queryAuthorities(Orcidv2.java:107)         at org.dspace.content.authority.SolrAuthority.addExternalResults(SolrAuthority.java:149)         at org.dspace.content.authority.SolrAuthority.getMatches(SolrAuthority.java:120)         at org.dspace.content.authority.SolrAuthority.getMatches(SolrAuthority.java:185)         at org.dspace.content.authority.ChoiceAuthorityServiceImpl.getMatches(ChoiceAuthorityServiceImpl.java:124)         at org.dspace.app.xmlui.cocoon.AJAXMenuGenerator.generate(AJAXMenuGenerator.java:84)

@kshepherd : I've fixed the UnmarshalException in the latest commit.  The ORCID API URL was pointing at the private (members-only) API. I switched it to the public one here: https://github.com/DSpace/DSpace/pull/2039/commits/8c1580bbe51dd1b7fbcefecf29536d092362052d
That said, even with this change, I'm not getting back ORCID search results (but I don't see any errors in the logs).  Still trying to debug why this isn't working.
I also agree with you -- I'm confused about whether we need a clientID or clientSecret to authenticate with the ORCID API prior to searching, etc.  So, I'm hoping @jonas-atmire can find time to help us figure out if this is required or not.

@tdonohue the ORCID 2.1 API docs suggest client ID and secret are needed for the public API as well (just a regular free API account). If we don't hear back from atmire devs, when I have time I'll try and reverse engineer the bean to figure out what the spring config should be

@kshepherd : yes, I saw that in the ORCID 2.1 API docs too. But, using the API via GET (in your browser) works perfectly fine without authentication.  Try it out, the API is completely browseable/usable via Swagger: https://pub.orcid.org/v2.1/#/Public_API_v2.1  I've tried the /search?q=[query] endpoint myself and it seems to return real results without authentication.
So, I guess I'm not yet convinced that we have an authentication problem -- it's possible there's an issue in the code itself here.  Still trying to find time myself to debug.

@kshepherd : I've found a few bugs in the code that affected querying for ORCIDs by a person's name.  It seems the behavior is slightly different in dspace/orcid-jaxb-api than it was in the original PR.
The fixes are in this new commit: b8744f34657b5eaaac4fbc7016ec6d9780c61ea2
As of now, I'm able to query for ORCIDs by name using the "Lookup & Add" popup in the XMLUI submission process.  So, that's working now!  I haven't fully tested all ORCID features, but that's a step in the right direction

@tdonohue : Great, I too can see results in the submissions and edit item form when searching by name, and when searching by ORCID ID if the ID is encapsulated in quotes.
I have a few suggestions for improving performance/usability, but if they're out of scope for this simple "make it work again" patch then that's fine...

Only fetch bios for results on this page... most searches that include a common name will return the full 100 (default max) rows and it looks to me like we're fetching bios for all rows as we send the full query, not just the 10 that we're displaying on the current page? How much work is it to change the query bio behaviour so it's called for result set to be displayed, not the full result set returned from ORCID?
When fetching bios, it looks like we attempt to get optional info like email and country, etc., which is quite helpful for identifying people when duplicate names could be returned, but we don't ever display it in the (XMLUI) preview of search results when looking up names/IDs. If we included this in the search results I think it'd save repository users/staff a lot of time and avoid errors in selecting the wrong ORCID record
The last change to allow query by name looks good, but it has broken 'search by ID' a little bit, which we certainly should discourage as it's a far better/quicker way of getting a successful result if we do happen to know the author's ORCID ID. I can make it work by encapsulating the ID in quotes, but I think maybe we could help by detecting some common patterns and if it looks like an ORCID ID instead of a name, encapsulating it in quotes or performing a direct 'by id' search?

@tdonohue on further reflection, of the comments I listed above, only the "help search by ID to work better/quicker" is really relevant for this PR, so I guess we can just consider the other comments as a start for a subsequent "improve ORCID authority" PR after this is merged. If you like, I can commit a small update to this PR to look for patterns that match ORCID IDs / URLs and encapsulate them in quotes to get them working better, otherwise I'll just approve this as is!

Hi @kshepherd : I think your ideas for improvements sound reasonable...however, I'm going to admit that my goal in this PR was to simply get #2028 to work with https://github.com/DSpace/orcid-jaxb-api
95+% of this code was written by Atmire, so I'm not sure I can or should speak for it. I can only speak for the minor bug fixes I applied and the configuration that I changed to get it hooked up to orcid-jaxb-api. (As a sidenote: the "query by name" fix was applied because, without it, query by name wasn't working at all. It's possible there's a better way to fix that code, but I just went for a quick fix to get it working)
So, if you have time to work more on improving this PR (you should have edit access), I'd be glad to give that work a code review/test.  But, I'm not sure I'll have much time in the next few weeks (the DSpace 7 Sprint has started) to do more work here myself.  I'd just encourage we try and scope this PR to "getting ORCID working again" (as that's the real v6.3 blocker here).  More enhancements can come in future PRs.

@kshepherd : I just updated the POM in this PR to point at the newly released orcid-jaxb-api version 2.1.0
I reran my tests on my end, and it looks to still all work great. So, I think this PR is ready to be merged.

Merging now, we had support from others in dev meeting to get this in, we're both +1, it tests well, and it fixes something that is currently broken in released DSpace versions.


go/ast: Walk does not walk every comment

Here is an example https://play.golang.org/p/JFn3IZnr6E
According to http://golang.org/src/go/ast/walk.go?#L348 comments of ast.File are intentionally not walked because "... visited already through the individual nodes ..." but as you can see from the example, this is not true.
EDIT: I would be happy to fix that if you can give me some pointers.

CC @griesemer

@zimmski The AST walker only visits comments that were associated with nodes (excluding the list of all comments that's in ast.File). At this point, only comments above declarations, and line comments in declarations (e.g. structs) are associated with the respective nodes; i.e., the parser assumes that those comments "belong" to those nodes.
In general, the parser doesn't make any further assumptions about other comments and does not associate them with any nodes (this is indeed a major shortcoming of the existing AST and we're investigating how to remedy this situation, possibly via a new AST representation).
Walk could be made more sophisticated and walk comments as they appear by position, relative to the other nodes. But this requires that position information is 100% correct (which is not always the case when the AST is manipulated after creation). It also is not clear with which node a comment should appear (this is something a future heuristic would have to address).
If you want to walk all comments, it's trivial to a) ignore comments encountered by Walk, and b) simply traverse the list of all comments attached to ast.File (i.e., the list of comments in ast.File contains all comments, even the ones associated with other nodes).
Closing this for now since it's working as originally intended; and with the understanding that a future implementation needs to do a better job.

Thanks for the detailed explanation! We have already a workaround which traverses all comments through the AST, remembers them, and then traverses all comments which have not been visited. This is needed because we analyse comments differently if they belong to a declaration.
I am wondering if these changes to the AST and ast.Walk can be implemented at all because of the backwards-compatible promise? Also, do comments really have to appear "with" a node? Can't they just reside inside the AST as an ordinary node? Additionally the position information must be somehow somewhere correct, because using go/printer will output the correct source even after a modification, or is this assumption wrong?

The suggested changes require a new AST - not entirely different, but capable of associating comments with nodes. I have a prototype but it needs a bit more work. Once I am confident enough that it can work well, I'll send out a proposal.
Comments can appear anywhere between two tokens (actually, from the scanner's point of view, a comment is just a token). Because they can appear anywhere, there's no obvious place to put them in the AST. For instance, an if statement "if expr /* comment */ { foo() }" consists of an IfStmt node and several child nodes (expr, then branch). The comment could be anywhere. In this case it could (and probably does) make sense to say that it "belongs" to the expr. In other words, the comment is said to be "associated" with the expr. If the comments appeared before the "if" it might instead be associated with the IfStmt node, etc. This association is not obvious from the grammar or language, and requires a heuristic (which may fail). However, if comments were associated with nodes, moving nodes would ensure the associated comments also move with them. This is currently not the case.
For an unmodified AST, all positions (including comment positions) are correct. If the AST is modified, but comment and AST node positions are not updated accordingly, the go/printer will print the comments in the wrong places. This is a common issue with AST manipulation and the major reason why comments should probably be attached to nodes. This was in some sense a design mistake (mea culpa) - the AST package is one of the very first Go packages and I didn't appreciate the need for easy manipulation (nor did I foresee all the AST manipulation tools).

Did you put the proposal you are working on somewhere public?

@zimmski I'm sorry, no, I have not made any progress on this front due to other more pressing 1.6 items. But it's on the forefront of my things to do.

No need to be sorry. I was just wondering how that is going since I stumbled on my "workaround" mark. Is anything easy on your 1.6? Maybe I can help out since I have some open source hours left in the coming months.


Add poetry configuration

Adding a poetry configuration for more deterministic dependency installs

Codecov Report

Merging #4 (9566e80) into master (45fca7f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #4   +/-   ##
=======================================
  Coverage   40.88%   40.88%
=======================================
  Files           7        7
  Lines         340      340
=======================================
  Hits          139      139
  Misses        201      201

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 45fca7f...9566e80. Read the comment docs.


Deprecate "limit_update_rate" in favor of "set_target_fps"

possibily replace limit_update_rate with this implementation of "set_target_fps", since FPS is a more common and natural way to represent update intervals:
    /// Limits the FPS of polling for new events in order to reduce CPU usage.
    /// The problem of having a tight loop that does something like this
    ///
    /// ```no_run
    /// # use minifb::*;
    /// # let mut window = Window::new("Test", 640, 400, WindowOptions::default()).unwrap();
    /// loop {
    ///    window.update();
    /// }
    /// ```
    /// Is that lots of CPU time will be spent calling system functions to check for new events in a tight loop making the CPU time go up.
    /// Using `set_target_fps` minifb will check how many frames are left to reach the target FPS and there are any it will sleep for that amount of frames.
    /// This means that if more frames than the target happened (external code taking longer) minifb will not do any waiting at all so there is no loss in CPU performance with this feature.
    /// By default it's set to 250 FPS. Setting this value to None and no waiting will be done
    ///
    /// # Examples
    ///
    /// ```no_run
    /// # use minifb::*;
    /// # let mut window = Window::new("Test", 640, 400, WindowOptions::default()).unwrap();
    /// // Set the target rate to 60 fps, meaning events will be polled every ~16.6 ms
    /// window.set_target_fps(Some(60));
    /// ```
    #[inline]
    pub fn set_target_fps(&mut self, fps: Option<usize>) {
        match fps {
            Some(fps) => {
                let time = Some(Duration::from_secs_f32(1. / fps as f32));
                self.0.set_rate(time);
            }
            None => self.0.set_rate(None),
        }
    }

I guess that would be fine, but I would prefer keeping the old one around for a while with a deprecation tag then.

I guess that would be fine, but I would prefer keeping the old one around for a while with a deprecation tag then.

That was exactly what i was thinking, so i'm up for any suggestions on how you'd like to handle deprecations

I guess having something like
#[deprecated(since = "0.26", note = "use set_fps_target instead, this function will be removed in the future."]

on the old function. Also given no time when it will be removed gives some flexibility

I guess having something like
#[deprecated(since = "0.26", note = "use set_fps_target instead, this function will be removed in the future."]

on the old function. Also given no time when it will be removed gives some flexibility

I would also like to ask how to handle the possibility of setting the FPS to 0, as i have different solutions:

this would be the safest option, but more tedious for the user option, where we offload to the user the responsability of making sure that fps is not 0:pub fn set_target_fps(&mut self, fps: Option<NonZeroUsize>) {
    match fps {
        Some(fps) => {
            let fps: usize = fps.into();
            self.0
                .set_rate(Some(Duration::from_secs_f32(1. / fps as f32)));
        }
        None => self.0.set_rate(None),
    }
}

this would be the "less sound", but esier for the user option, where we are responsible of making sure that fps is not 0:pub fn set_target_fps(&mut self, fps: Option<usize>) -> std::result::Result<(), ZeroFPS> {
    match fps {
        Some(fps) => match fps {
            0 => return Err(ZeroFPS),
            non_zero => self.0.set_rate(Some(Duration::from_secs_f32(1. / non_zero as f32))),
        },
        None => self.0.set_rate(None),
    }
    Ok(())
}

at this point option 2 makes use of a reduntant Option, so it would be reduced to this, treating 0 as if it was the None case:pub fn set_target_fps(&mut self, fps: usize) {
    match fps {
        0 => self.0.set_rate(None),
        non_zero => self.0.set_rate(Some(Duration::from_secs_f32(1. / non_zero as f32))),
    }
}

I think 3.

I think 3.

Thanks, I'll make PR with that then


minecraft LWJGL Failed to load a library

https://github.com/NixOS/nixpkgs/blob/34f41a0848dfd66e2d60baba2f16f73f1a00d34d/pkgs/games/minecraft/default.nix
17:54:39.247
Minecraft client 1.19.2 is ready to start.
17:54:39.247
Starting!
17:54:39.247
Using default game log configuration client-1.12.xml (outputs XML)
17:54:41.062
Building optimized datafixer
17:54:42.171
[STDERR]: [LWJGL] Failed to load a library. Possible solutions:
	a) Add the directory that contains the shared library to -Djava.library.path or -Dorg.lwjgl.librarypath.
	b) Add the JAR that contains the shared library to the classpath.
17:54:42.172
[STDERR]: [LWJGL] Enable debug mode with -Dorg.lwjgl.util.Debug=true for better diagnostics.
17:54:42.172
[STDERR]: [LWJGL] Enable the SharedLibraryLoader debug mode with -Dorg.lwjgl.util.DebugLoader=true for better diagnostics.
17:54:42.706
[STDERR]: java.lang.NoClassDefFoundError: Could not initialize class com.mojang.blaze3d.systems.RenderSystem
17:54:42.707
[STDERR]: 	at ac.a(SourceFile:66)
17:54:42.707
[STDERR]: 	at efu.a(SourceFile:2359)
17:54:42.708
[STDERR]: 	at efu.a(SourceFile:2354)
17:54:42.708
[STDERR]: 	at net.minecraft.client.main.Main.a(SourceFile:214)
17:54:42.708
[STDERR]: 	at net.minecraft.client.main.Main.main(SourceFile:51)
17:54:42.770

17:54:42.770
Process crashed with exit code 1

just use prism.


bump version of code cov plugin

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[ ] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-XXX

Description

[ ] Here are some details about my PR, including screenshots (if applicable):

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #3440 (21d6dd0) into master (a7df7ca) will decrease coverage by 3.19%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3440      +/-   ##
============================================
- Coverage     46.58%   43.39%   -3.20%
+ Complexity    10331     2026    -8305
============================================
  Files          2074      404    -1670
  Lines         80880    17349   -63531
  Branches       9022     2120    -6902
============================================
- Hits          37680     7528   -30152
+ Misses        39728     8986   -30742
+ Partials       3472      835    -2637

Impacted Files
Coverage Δ

...a/org/apache/gobblin/util/limiter/NoopLimiter.java
40.00% <0.00%> (-20.00%)
:arrow_down:

...lin/util/filesystem/FileSystemInstrumentation.java
92.85% <0.00%> (-7.15%)
:arrow_down:

...in/java/org/apache/gobblin/cluster/HelixUtils.java
28.26% <0.00%> (-5.08%)
:arrow_down:

...kafka/schemareg/ConfigDrivenMd5SchemaRegistry.java

.../org/apache/gobblin/runtime/CountBasedLimiter.java

...ion/hive/dataset/ConvertibleHiveDatasetFinder.java

...ata/management/copy/hive/HivePartitionFileSet.java

...blin/writer/commands/PostgresBufferedInserter.java

...doop/HadoopKerberosKeytabAuthenticationPlugin.java

...he/gobblin/runtime/util/ExceptionCleanupUtils.java

... and 1664 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 a7df7ca...21d6dd0. Read the comment docs.


add conv 1x1 head

Motivation
conv 1x1 head is useful when build models like NiN(arXiv:1312.4400).
Modification
add ConvClsHead and StackedConvClsHead.

Thank you for your contribution to MMClassification.
After discussion, mainly considering that this head itself is equivalent to 'LinearClsHead' and the algorithm NiN(arXiv:1312.4400) used is relatively outdated, there are few users using it at present. So we feel that this feature is not very necessary for us. I will close this PR later.


In HTML reports, show more run-related data

When the test was run
What platform it was run on
Version of feditest

Surface the metadata from #84.


.created_at is incorrect

from lazyscribe import Project
from datetime import datetime
project = Project()
print('create at:', datetime.now())

create at: 2024-03-14 11:47:28.928249

with project.log(name="My experiment") as exp:
    with exp.log_test(name="My test", description="Demo test") as test:
        test.log_metric("metric", 1234.)
        print('update at:', datetime.now())

update at: 2024-03-14 11:47:34.282870

project.save()
print('save at:', datetime.now())

save at: 2024-03-14 11:47:42.849428

[
    {
        "artifacts": [],
        "author": "sasha",
        "created_at": "2024-03-14T11:47:34",
        "dependencies": [],
        "last_updated": "2024-03-14T11:47:34",
        "last_updated_by": "sasha",
        "metrics": {},
        "name": "My experiment",
        "parameters": {},
        "short_slug": "my-experiment",
        "slug": "my-experiment-20240314114734",
        "tests": [
            {
                "description": "Demo test",
                "metrics": {
                    "metric": 1234.0
                },
                "name": "My test"
            }
        ]
    }
]

Ah, it's the experiment's .created_at.
Now I see...


Introduce admission webhook settings page

Allow user to enable AdmissionWebhook by using a new dedicated page.
To work this requires the following PR merged into the salt repo: https://github.com/kubic-project/salt/pull/555
The new UI has to be improved by @vitoravelino, right now it looks something like that:

The workflow is the following one:

go this new page
upload key and certificate
enable the feature
deploy the cluster

Notable things missing:

[X] Validate input (required)
[X] Fix UI
[X] Add tests
[x] Fix coverage

Current state with last commit:

@flavio This is good to be reviewed.

It looks to me, I like the workflow. However there's a bug:

upload key and cert
save
disable the feature
save -> accept the warning message from the popup window
reload the page
enable the feature -> the old key and cert are still shown

Basically we don't actually delete them from the database.

Also another bug: it's possible to upload empty files. The validation in place doesn't look for that

Fixed both cases, @flavio. Thanks!

I guess we can proceed with the merge, right? I'll give my approval in behalf of @flavio since he created the PR and can't do that.

I updated the code with with the x509 validation and added pem/der key format validation. Suggestion for wording are welcome. I also made a minor refactoring to make things more readable.
Please review it again. Thanks!
@flavio, could you play with this again?

Just a short update to fix the merge conflicts. I still intend to setup an admission webhook and actually try out the code.

Just a short update to fix the merge conflicts. I still intend to setup an admission webhook and actually try out the code.

I don't see any conflicts. Is something going to change?

Sorry - I just meant I repushed the changes after a rebase due to conflicts in  app/controllers/internal_api/v1/pillars_controller.rb - the dex connector apparently added some more pillars.

I've rebased this and should be good to be reviewed again.

LGTM with one small change (use fixture_file_upload).
However given that the salt PR is on hold I don't think we can merge this right now.

This GitHub PR is unactive since 30. Is this GitHub PR still needed? Please close or update it accordingly.
This reminder is autogenerated by https://github.com/MalloZup/blacktango


zsh: fix $out/etc/zprofile #14256

[ x ] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[ x ] NixOS
[ ] OS X
[ x ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Fixes issue #14256
cc @fpletz

Please note, that points are not mandatory, but rather desired.

You can't do this directly against the release branch, it must go through master first.
It would be also nice if the commit message mentioned something about the problem and the commit hash of what caused the problem.

Ok, sorry. I will redo and close this pull request


feat: update x/bankplus for deprecation

Description

closes: #1212
Motivation and context

How has this been tested?

Screenshots (if appropriate):
Checklist:

[x] I followed the contributing guidelines and code of conduct.
[x] I have added a relevant changelog to CHANGELOG.md
[ ] I have added tests to cover my changes.
[ ] I have updated the documentation accordingly.
[ ] I have updated API documentation client/docs/swagger-ui/swagger.yaml

Some ci tests are failing.

Some ci tests are failing.
Yes, I'm working on it but I have not found any clue, especially test-e2e failure.
After providing bankplus moudle for DI instead of original bank, tests in tests/e2e begin to fail.
Any help would be appreciated.

Please don't review this PR.
I'm thinking of removing bankplus while keeping it's role from other place.

Please skip failure of test-sim-nondeterminism. Another PR will fix this.

Where SendRestrictionFn is set in the future?

Where SendRestrictionFn is set in the future? And can't SendRestrictionFn use inactive address data in bank kvstore as it is?

WASMD will set SendRestrictionFn. You're right, inactive address data will be removed and can't use it . Fortunately WASMD has the same inactive address in it's store.

How about leaving deprecator in bankplus because it's used by finschia/finschia? And proto files shouldn't be removed.

How about leaving deprecator in bankplus because it's used by finschia/finschia? And proto files shouldn't be removed.

I'm thinking of closing this PR when another PR on finschia/finschia is ready.
I'll make another PR just for bankplus deprecation logic on finschia/finschia.
finschia-sdk will look like it's never had bankplus before.

In my opinion, the repo that has better to have deprecator is finschia-sdk not finschia. If finschia, that makes it hard to follow history of bankplus and that makes proto files scattered.

tter to have deprecator is finschia-sdk not finschia. If finschia, that makes it hard to follow history of bankplus and that makes proto files scattered.

I agree. It seems better to keep bankplus logic here for history.


Example of removal of FieldExtension

Not intended to be merged
This PR is just an example of how the interface might look if we remove the FieldExtension trait. Discussion welcome, in particular, it would be good to identify under what circumstances this approach might limit us in the future, compared to using the parameterised trait FieldExtension<F: Field>.

These ideas were incorporated in https://github.com/Plonky3/Plonky3/commit/97b00b9def4b1dd16db146c4677e16b9641f32e3.


Gender Classification Webapp

This app basically classifies gender as male or female based on the input name
Tech stack : naive_bayesclassifier , ML, streamlit
The web application is built using stramlit and input is the name
models : prebuild models used for classification

It has already been done.

It has already been done.


1.5 doc updates

Initial round of updates for 1.5+ release integrating redstone changes.

The big one. Thanks for working on this Bill, it was a long time coming. It'll be a bit for me to go through but I'll update anything I need to as I do.

Ok, I've gone through and updated everything I needed to.
One last request before I merge it - all of the TUI screenshots purposefully keep the TUI as small as possible so it's easier to read them on the fixed-width website. Do you have time to redo your updates with a smaller TUI size to preserve the original format?

All set, thanks Bill.


fix broken accounts

97 accounts were fixed.

On 30th March 8 accounts were fixed

On 16th April 7 accounts were fixed.
Since we've done a fix, so that we are not supposed to have any broken accounts through normal registration (it is still possible to have them through SSO, which isn't enabled at the moment in production).

Unfortunately, the problem persisted. We had to make a change in the enpoint for syncing databases, see https://github.com/serlo/api.serlo.org/pull/1416.
On 22th April 31 accounts were fixed


[master] KWM huge memory usage

After running KWM for some hours I experience it using a huge amount of memory.
http://i.imgur.com/9MhMp8u.png
I tried installing it with brew first, exact same thing happened.
not quite sure why this occurs.
or does the program require that much memory?
EDIT: i'm on MacOS Sierra 10.12.1
EDIT2: http://i.imgur.com/DrLh5TL.png
it doesn't add up though, so i'm not sure why activity monitor is registering so much ram out of kwm...

For reference there is mine running under El Cap. Maybe there is an issue with a memory leak in Sierra?
(this has been running for week on my machine)

Uptime is slightly over a day. Also on Sierra 10.12.1 (the build with Touch Bar support).
What does your config look like? Maybe we can reproduce it with your kwmrc.

I actually have similar memory usage as @osatel  with 2 days uptime, that's super strange :/

@dominiklohmann I was using the example config.

I too am getting a massive kwm load

// Set default values for screen padding
kwmc config padding 40 20 20 20

// Set default values for container gaps
kwmc config gap 15 15

// Default tiling mode for Kwm (bsp | monocle | float)
kwmc config tiling bsp

// Let Kwm listen for hotkeys
kwmc config hotkeys on

// Automatically float windows that fail to resize
kwmc config float-non-resizable on

// Automatically resize the window to its container
kwmc config lock-to-container on

// Set focus-follows-mouse-mode to autoraise
kwmc config focus-follows-mouse on

/* Focus-follows-mouse is temporarily disabled when
   a floating window has focus */
kwmc config standby-on-float on

/* The mouse will automatically move to the center
   of the focused window */
kwmc config mouse-follows-focus on
// Allow window focus to wrap-around
kwmc config cycle-focus on

/* Override default settings for space 1 on screen 0
   kwmc config space 0 1 mode monocle
   kwmc config space 0 1 padding 100 100 100 100
   kwmc config space 0 1 gap 40 40 */

/* Override default settings for screen 1
   kwmc config display 1 mode bsp
   kwmc config display 1 padding 100 100 100 100
   kwmc config display 1 gap 40 40 */

// Set default container split-ratio
kwmc config split-ratio 0.5

// New splits become the left leaf-node
kwmc config spawn left

/* Add custom tiling rules for applications that
   does not get tiled by Kwm by default.
   This is because some applications do not have the
   AXWindowRole and AXStandardWindowSubRole */
kwmc rule owner="iTerm2" properties={role="AXDialog"}

// Enable border for focused window
kwmc config border focused on
kwmc config border focused size 1
kwmc config border focused color 0xFFFFFF
kwmc config border focused radius 0

// Enable border for marked window
kwmc config border marked on
kwmc config border marked size 1
kwmc config border marked color 0xFF336699
kwmc config border marked radius 0

// Enable the prefix mode
kwmc mode prefix prefix on
kwmc mode prefix timeout 0.75
kwmc mode prefix restore default
kwmc mode prefix color 0xFF458588

/*  Default Keybinds */
// Activate prefix mode
kwmc bindsym ctrl-s mode activate prefix

// Quit Kwm
kwmc bindsym cmd+alt+ctrl-q quit

// Launch iTerm2
kwmc bindsym cmd-return exec open -na /Applications/iTerm.app

// Rotate Window-Tree By 90degrees (Clockwise)
kwmc bindsym cmd+ctrl-r tree rotate 90

// Modify Container
kwmc bindsym prefix-h window -c reduce 0.05
kwmc bindsym prefix-l window -c expand 0.05

// Set Temporary Window Container
kwmc bindsym prefix-f window -z fullscreen
kwmc bindsym prefix-d window -z parent
kwmc bindsym prefix-w window -t focused

// Mark Window
kwmc bindsym cmd+alt+ctrl-m window -mk focused
kwmc bindsym cmd+alt+ctrl-h window -mk west wrap
kwmc bindsym cmd+alt+ctrl-l window -mk east wrap
kwmc bindsym cmd+alt+ctrl-j window -mk south wrap
kwmc bindsym cmd+alt+ctrl-k window -mk north wrap

// Give Focus To Window
kwmc bindsym cmd+alt-h window -f west
kwmc bindsym cmd+alt-l window -f east
kwmc bindsym cmd+alt-j window -f south
kwmc bindsym cmd+alt-k window -f north

kwmc bindsym cmd+alt-n window -fm prev
kwmc bindsym cmd+alt-m window -fm next

// Give Focus To Screen
kwmc bindsym cmd+alt-1 display -f 0
kwmc bindsym cmd+alt-2 display -f 1
kwmc bindsym cmd+alt-3 display -f 2

// Swap Focused Window
kwmc bindsym ctrl+alt-h window -s west
kwmc bindsym ctrl+alt-j window -s south
kwmc bindsym ctrl+alt-k window -s north
kwmc bindsym ctrl+alt-l window -s east
kwmc bindsym ctrl+alt-m window -s mark

// Pseudo containers
kwmc bindsym cmd+ctrl+alt-p tree -pseudo create
kwmc bindsym cmd+ctrl+alt-o tree -pseudo destroy
kwmc bindsym ctrl+alt-p window -s prev
kwmc bindsym ctrl+alt-n window -s next

// Detach Focused Window And Reinsert In Direction
kwmc bindsym ctrl+shift-k window -m north
kwmc bindsym ctrl+shift-l window -m east
kwmc bindsym ctrl+shift-j window -m south
kwmc bindsym ctrl+shift-h window -m west

// Detach Marked Window And Reinsert At Focused Window
kwmc bindsym ctrl+shift-x window -m mark

// Move Focused Window To Space
kwmc bindsym ctrl+alt-left window -m space left
kwmc bindsym ctrl+alt-right window -m space right

// Move Focused Window To Screen
kwmc bindsym ctrl+alt-1 window -m display 0
kwmc bindsym ctrl+alt-2 window -m display 1
kwmc bindsym ctrl+alt-3 window -m display 2

// Increase Container Gaps
kwmc bindsym prefix-x space -g increase horizontal
kwmc bindsym prefix-y space -g increase vertical

// Decrease Container Gaps
kwmc bindsym prefix+shift-x space -g decrease horizontal
kwmc bindsym prefix+shift-y space -g decrease vertical

// Increase Screen Padding
kwmc bindsym prefix-left space -p increase left
kwmc bindsym prefix-right space -p increase right
kwmc bindsym prefix-up space -p increase top
kwmc bindsym prefix-down space -p increase bottom
kwmc bindsym prefix-p space -p increase all

// Decrease Screen Padding
kwmc bindsym prefix+shift-left space -p decrease left
kwmc bindsym prefix+shift-right space -p decrease right
kwmc bindsym prefix+shift-up space -p decrease top
kwmc bindsym prefix+shift-down space -p decrease bottom
kwmc bindsym prefix+shift-p space -p decrease all

I've noticed it seems very stable before 1 day of uptime, it stays between 70 and 200 mb.
After about 1 day of uptime it starts ramping up hard.

There is for sure a memory leak happening when a display is disconnected.
I am not aware of any other memory leaks, but Kwm should not at all, ever, require more than 100mb (theoretically at least). It's usually sitting at ~25mb for me.
I have been profiling memory usage for some time, and there are no reported leaks (in whatever parts I use). I do suspect there are some use cases where memory has been allocated that we no longer use, but still keep track of, for whatever reason.

Same issue here. I use both my MBP display and an external display, and it has been disconnected and reconnected at least once.

So after disabling the code for borders, memory usage went down to 4-5mb.
Will take a closer look when I have time.

@koekeishiya thanks - disabling borders fixed it for me too :)

My kwm memory usage was over 3GB as well. I noticed, that if i open and close a window, I can see the RAM usage climbing each time. I have a space with 3 windows, if i open activity manager, it puts it nicely in the grid, i can note the ram, close AM, then press cmd+1 to open that window again, and KWM will visibly jump up, climbing every time I perform that.

Memory usage of borders should be drastically lower after the latest commit.
Please do post back after some testing.
Thanks.

I've tested this for a few days now and have not encountered any memory issues since with borders running. This should probably prompt a 4.0.4 bug fix release.

Thanks for the response, will do a release shortly.

I am going to consider this issue fixed in version 4.0.4.
Please do not hesitate to create a new issue if the problem persists.


Add Privacy Policy

Required to conform to privacy concerns.
Also, subgoals, allow for finer grade privacy controls, such as; deleting one account and hiding from pushcart leaderboard.
Needs:

[x] Privacy Page
[x] GDPR-compliant actions on user page to delete user data

Fixed with dd3e0e8c5eb2eb334df316290c0c3ec952e13a76


Print python include dir when Python.h not found

This is a small change that helps debugging when the python include path is not set up correctly.

@nicolasnoble

Going to drop this, since I realized the searcy path gets printed in the backtrace.


Forgot to include it in the commit message so "fixes #102 "

fixes #148
fixes #151
fixes #125


Feature/congrats footer fixes

//Description
Se actualizan los textos de botón y link para el footer, además se mueve la lógica a FooterContainer para separarla del container principal que ya tiene muchas responsabilidades.
//Issue related
Closes #
Requirements

[ ] Coverage > 90%

Note:

[ ] Android Lint check

Note:

[ ] Code Style checked

Note:

[ ] Tested with "Don't keep Activities" configuration.

Note:
If impacts documentation (new components, inputs or outputs?)

[ ] PR to develop-docs

Note:

Codecov Report

:exclamation: No coverage uploaded for pull request base (feature/congrats-templating@b8ce675). Click here to learn what that means.
The diff coverage is 1.28%.

@@                      Coverage Diff                      @@
##             feature/congrats-templating    #734   +/-   ##
=============================================================
  Coverage                               ?   28.5%
=============================================================
  Files                                  ?     317
  Lines                                  ?   19744
  Branches                               ?    1765
=============================================================
  Hits                                   ?    5629
  Misses                                 ?   13499
  Partials                               ?     616

Impacted Files
Coverage Δ

...aymentresult/components/PaymentResultRenderer.java
0% <0%> (ø)

...pago/paymentresult/components/FooterContainer.java
0% <0%> (ø)

...opago/paymentresult/PaymentResultProviderImpl.java
0% <0%> (ø)

...ymentresult/components/PaymentResultContainer.java
74.76% <0%> (ø)

...mentresult/components/FooterContainerRenderer.java
0% <0%> (ø)

...cadopago/paymentresult/PaymentResultPresenter.java
34.23% <25%> (ø)

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 b8ce675...9d7c21b. Read the comment docs.


Fix empty word segmentation bug

Fixes #9

Coverage increased (+0.19%) to 97.56% when pulling 506d14a4121750826c4580dc6e0cc42ada02f426 on bugfix/9-empties into f498f61b6b2cb87a56ee4c60600b2cea21cd330f on master.

Coverage increased (+0.19%) to 97.56% when pulling 506d14a4121750826c4580dc6e0cc42ada02f426 on bugfix/9-empties into f498f61b6b2cb87a56ee4c60600b2cea21cd330f on master.


msRestNodeAuth.interactiveLoginWithAuthResponse() with proxy settings

I'm looking for guidance on how to use my corporate proxy when using the interactive login
msRestNodeAuth.interactiveLoginWithAuthResponse().
Is it supported ? how should I proceed ?
When i'm on an open network, it works well, but when on corporate network, it fails :
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXX to authenticate.
Exception : Error: connect ETIMEDOUT <IP_ADDRESS>:443

Thanks,

If you are on mac or windows you could configure CNTLM


I need help with the color thing for the credits

Describe your problem here.
I don't know how to work with the color codes in the credits.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
A lot of things

They are just hex codes so here's a site that can help you with that: https://www.color-hex.com/


Add missing cognito oauth scope

Pull Request Description
For some reason, the hosted UI for both email and password and SSO, as well as the Auth.federatedSignIn({provider: 'Google'}) call require the aws.cognito.signin.user.admin scope to be enabled to fetch and update user attributed. However, a call to Auth.signIn(email, password) does not. This is not well documented in AWS Cognito.
Important Notes
aws.cognito.signin.user.admin gives you access to all Cognito User Pool APIs. Which federatedSignIn with google provider uses to get currentUserInfo() where we store optional organizationId. It does not provide any admin level access to other cognito or AWS parts.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

probably a good idea to double check that email+password sign up doesn't break

@somebody1234 did some qaing myself (signin / up with google/github and normal registration). You could also QA if you have time

Working perfectly on mine - thanks @PabloBuchu


luts with misnamed extensions are not properly loaded

if an spi3d lut is called .lut3d (old name), it does not load. This code should fall back on the original loader.

Was fixed with 6da3411ced4bd5e69e984019d90cb8fce81c69a7 \o/

yup


Update and fix js dependencies

Build failures occurred since jsdoc was updated to v3.6, since it requires Node 8.5 and we support Node 4.x on Xenial.  This fixes the js package.json file.

[ ] Did you create an Apache Jira ticket?  (not required for trivial changes)
[ ] Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?  (not required for trivial changes)
[x] Did you squash your changes to a single commit?
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"

The remaining build failures are in netstd.  cc: @Jens-G


x-scheme-handler/tel  issue

I'm trying to figure out how to get handlr to open url 'voice.google.com' whenever x-scheme-handler/tel mime type is opened.  Currently, I've only gotten it to open google-chrome.desktop.
x-scheme-handler/tel=google-chrome-unstable.desktop;

I'm not sure how to include the url it should open along with opening the .desktop file
What else can I do?

Closing, figured out a workaround by just creating a custom .desktop file.


Added support to skip pulling remote changes.

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

In the file migration_fixer/management/commands/makemigrations.py:

Line 120:101: E501 line too long (102 > 100 characters)

Awesome 👏🏼


Add maintainers section, including new ones!

hey there @yoshiakis and @imolorhe, here it is as promised finally!

@imolorhe
@yoshiakis

both colleauges have contributed great value to all three and now one of these repos for years. they have also helped triage issues and addressed user concerns in objective ways that demonstrate very good maintainer habits
@benjie do you want to be listed as active or not?
@brianwarner will let us know what we should do next. should i just make this into its own MAINTAINERS.md file?

@acao at the moment I am not going to be fully active, as I have a couple of other things ongoing, more like passive active 🙂 just managing expectations.

@acao at the moment I am not going to be fully active, as I have a couple of other things ongoing, more like passive active 🙂 just managing expectations.

that’s fine! whenever you’re able. help with PR reviews is one of the biggest things I need help with

that’s fine! whenever you’re able. help with PR reviews is one of the biggest things I need help with

@acao Thank you 😄

@acao Thank you 😄

ok, I will remove you @benjie no problem, the door is always open but you have plenty on your plate I'm sure.
@imolorhe to clarify, you don't mind being added to the list? we'll be glad to have your help in any capacity 💯 but if you'd like to wait, that's fine, too!

ok, I will remove you @benjie no problem, the door is always open but you have plenty on your plate I'm sure.
@imolorhe to clarify, you don't mind being added to the list? we'll be glad to have your help in any capacity 💯 but if you'd like to wait, that's fine, too!

@acao That's fine. I'll help out as much as I can.

@acao That's fine. I'll help out as much as I can.


Enable collect functions for custom metric

Hi!
Can you please enable support for the collect functions of metric options item in register(metric) function /services/metrics.js. Is adding collect callbacks supported at the moment? if yes a documentation will be helpful. Will it be possible to add this feature if not supported, i also could prepare a pull request if needed. Greetz!
register(metric) {
      . . .
      const options = {
        name: '${prefix}${metric.name}',
        help: metric.help,
        buckets: metric.buckets || [],
        labelNames: metric.labelNames || [],
        registers: [register],
        collect: metric.collect // Here
      }

      // Or here
      if (typeof metric.collect === "function") {
        options.collect = metric.collect;
      }
       . . .
    }

Hi!
a small patch has been released (v1.9.2) where all options are forwarded to the type constructor. So any option that the metric type can hold can be forwarded.
Only name and registers will get overwritten by the those used by the package. (This could be a future improvement =))


Unable to trigger popover state programmatically

🐛 Bug report
I need to be able to trigger a popover when focusing an Editable input. I would expect that calling the programmatic popover API methods like api.open() and api.close() from Editable's callbacks would open and close the popover when called from other zag machine callbacks. However, I cannot get the popover to open unless it is from clicking an element with the api.triggerProps attributes spread directly on the rendered element.
💻 Link to reproduction
stackbiltz reproduction: https://stackblitz.com/edit/solidjs-templates-uzhcoj?file=src%2FInputWithPopover.tsx
Click inside the Editable input. If you open the web inspector, you may notice that the console.log firing from onOpenChange of the Popover machine does report that the open prop is true for a brief moment, before being reset to false.
🧐 Expected behavior
I would expect that calling popoverApi.open() from within an Editable machine's onEdit()callback would trigger the popover to open.
🌍 System information

Software
Version(s)

Browser
Chrome

Operating System
MacOS 11.6.7

"solid-js": "^1.6.9",
"@zag-js/editable": "^0.2.8",
"@zag-js/popover": "^0.2.7",
"@zag-js/solid": "^0.2.5",

There are a few issues with the provided composition example:

It misses a trigger element for the popover to position against
Triggering popoverApi methods from editable callbacks:

      onEdit() {
        popoverApi().open();
      },
      onSubmit() {
        popoverApi().close();
      },

This results in the following behavior:
Editable gets focused
-> Editable onEdit triggers
-> Popover opens
-> Popover gets focused automatically
-> Editable looses focus
-> Editable onSubmit triggers
-> Popover closes
A possible solution is to provide the same trigger element for both editable and popover. In addition you can use popover's initialFocusEl option to set focus to the editable input:
https://stackblitz.com/edit/solidjs-templates-aygzbe?file=src%2FInputWithPopover.tsx

Ah, I see. Many thanks @visualjerk — that was super helpful.


Deactivation of chat timestamps

Hello,
With version 6.25, as soon as i open TB++ the option: Options [F11] -> General -> Show chat timestamps is automatically disabled.

Depends on which should be the leading system I guess. If GW should be the leading system on initial load then
GW::Chat::ToggleTimestamps(show_timestamps); should be removed. Otherwise it seems like it's working as intended. Set the option for Show chat timestamps in the "Chat Settings" Module and it shouldn't turn off again on initial load as it should be saved when leaving TB.
ChatSettings.cpp
void ChatSettings::LoadSettings(ToolboxIni* ini)
{
    ToolboxModule::LoadSettings(ini);

    LOAD_BOOL(show_timestamps);
    LOAD_BOOL(show_timestamp_24h);
    LOAD_BOOL(show_timestamp_seconds);
    LOAD_BOOL(hide_player_speech_bubbles);
    LOAD_BOOL(npc_speech_bubbles_as_chat);
    LOAD_BOOL(redirect_npc_messages_to_emote_chat);
    LOAD_BOOL(redirect_outgoing_whisper_to_whisper_channel);
    LOAD_BOOL(openlinks);
    LOAD_BOOL(auto_url);

    timestamps_color = Colors::Load(ini, Name(), VAR_NAME(timestamps_color), Colors::RGB(0xc0, 0xc0, 0xbf));
    GW::UI::SetOpenLinks(openlinks);
    GW::Chat::ToggleTimestamps(show_timestamps);
    GW::Chat::SetTimestampsColor(timestamps_color);
    GW::Chat::SetTimestampsFormat(show_timestamp_24h, show_timestamp_seconds);
}


reading dec 26

dont see the connection between this tree and this list

surely its
A: ISSTA, ICST
B: MSR ICPC, ICSM WCRE
C: SCAM CSMR SANER
D: RE
E: SSBSE ICSE FSE ASE
F: GPCE FASE
a:1.9
b: 2
c 0,10
d: 5,6
e:8743

and updating the above also means updating p3

fig5,6,7 still lack the little paste in key saying what all the topics numbers are

what year are you using for this corpus? if fig5 2009-2016 the text should:

mention which fig is being references
say something like
- FSE publishes much more than ASE on Topic 1 (Testing)
- ASE  publishes  much  more  than  FSE  of  Topics 10 (Mining)

i think this should say fig9
A curious feature of this figure is how similar this appears to the percentage of topics fromallauthors(see Figure 5)

apart from the above, ok to submit from my perspective