GHDL installation fails in arch armv71

After a new Termux installation (from F-Droid), I perform:
pkg update && pkg upgrade
pkg install git
git clone https://github.com/hdl/Termux-packages.git
cd Termux-packages/scripts
./base.sh
./ghdl.sh

The last one fails when make install. Specifically, performing
install: install.$(backend)
#       Generate std.standard package VHDL source
	$(DESTDIR)$(bindir)/ghdl$(EXEEXT) --disp-standard --std=87 > $(DESTDIR)$(VHDL_LIB_DIR)/src/std/v87/standard.vhdl
	$(DESTDIR)$(bindir)/ghdl$(EXEEXT) --disp-standard --std=93 > $(DESTDIR)$(VHDL_LIB_DIR)/src/std/v93/standard.vhdl
	$(DESTDIR)$(bindir)/ghdl$(EXEEXT) --disp-standard --std=08 > $(DESTDIR)$(VHDL_LIB_DIR)/src/std/v08/standard.vhdl

And the problem is related to the compiled ghdl:
~/.../ghdl/build-termux $ $PREFIX/bin/ghdl --disp-standard --std=87 > $PREFIX/lib/ghdl/src/std/v87/standard.vhdl
Killed
~/.../ghdl/build-termux $ ghdl --version
GHDL 2.0.0-devKilled

Let me know if I can provide debug info.

Can you save the build to a log file? Sometimes GHDL's build/install procedure fails when installing, but it is because of some previous error during the build. Other than that, GHDL does work on armv71, so I think this issue is specific to Android/Termux.

Here you are: ghdl.log
I didn't see errors or warnings which gives me a clue.

Hmmm, it seems that the log is no complete? Is that the call to make only?

Here the complete log: ghdl.log

Can you run /data/data/com.termux/files/usr/bin/ghdl --disp-standard --std=87 on gdb?

I tried what you suggested and also --version:
~/Termux-packages/scripts $ gdb /data/data/com.termux/files/usr/bin/ghdl
GNU gdb (GDB) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
...
(gdb) run --disp-standard --std=87
Starting program: /data/data/com.termux/files/usr/bin/ghdl --disp-standard --std=87
Program received signal SIGSEGV, Segmentation fault.
0xb6cecd28 in NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*) ()
from /system/lib/libc.so
...
(gdb) run version
Starting program: /data/data/com.termux/files/usr/bin/ghdl version
GHDL 2.0.0-dev
Program received signal SIGSEGV, Segmentation fault.
0xb6a66d28 in NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*) ()
from /system/lib/libc.so


Condense Dues/Accept Dues, Swag/Give Swag Pages

There are presently four distinct pages for Dues and Swag Ops - Dues, Accept Dues, Swag, Give Swag.  These pages should be collapsed into two - one "Dues" and one "Swag" - with toggle buttons to change the data in the table appropriately and the extraneous menu options removed.
Dues
Initial page load should match the as-is page. Add a button to filter the data table entries down to just those who have not paid.
Swag
Initial page load should match the as-is page. Add a button to filter the data table entries down to just those who have outstanding swag (needs to be picked up).

For the record, I object to this being in the May milestone.

Then change it


Syntax highlighting breaks if a trigger is at the end of a template string

Whenever a sql-lit highlighted template has an sql-lit trigger at the end of the template, it thinks that there's a new start to a template:
const column = sql`DB_META`

Ok, I don't believe this is a regression, just a bug. Because sql` is a begin capture trigger, it will need to appear once on a given line, like so:
const migrations = {
  async up() {
    sql`
      DB_META
    `
  },
  async down() {
    sql`
      sql
    `
  }
}

This prevents the begin capture from matching the 2nd sql`, since textmate matchers only capture patterns on a single line. It's a workaround for sure, and probably needs to be documented.


TI-129 feat(search): add connect function

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#76
#75  👈
#74
#73
#72
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xdjeremy and the rest of your teammates on  Graphite


F-Droid can't build

...since we build reanimated first and we hit this issue: https://github.com/facebook/react-native/issues/35210
I've hacked around it by bumping react-native to 0.67.5: https://gitlab.com/fdroid/fdroiddata/-/commit/4a750ce2145dd4773092ed3ac551e59d47dccdb3 (based on https://github.com/laurent22/joplin/pull/7307/files)
Can you do this update project wide instead?

I could.
What I don't know is, where is this hash coming from at the end of .tgz: https://github.com/zulip/zulip-mobile/blob/main/yarn.lock#L13512 ?

Google Services sneaked in :(
https://github.com/zulip/zulip-mobile/commit/0f6cf399b85fe46bc1118c0f1395b0b926cae682

Google Services sneaked in :(
ref: 0f6cf39

Nothing snuck in. We've been quite clear all along that we use Google Play Services for getting notifications. This is part of that.
What happened is that the way you chose to make an F-Droid build involves some sed scripts that depend on the exact details of our source code. We never promised that those details would stay the same. In fact, I specifically warned you that they would probably change, and that your approach was likely to break: https://github.com/zulip/zulip-mobile/issues/1270#issuecomment-1218619026

Just to make sure we have a shared set of expectations: there's a lot of stuff in that prebuild recipe that we can't guarantee will keep working. It's entirely likely that some of that recipe will break in the future.

If you have specific questions, we can try to help. But this isn't the right tracker for a build failure in the F-Droid script, so I'm closing this issue for now. If you have a specific question to ask, just reply (or feel free to open a new issue) and I can reopen.

I guess I forgot what the workflow is for this app. My bad.

How about making an fdroid build flavor?  That works well for lots of other apps in a similar boat.

How about making an fdroid build flavor? That works well for lots of other apps in a similar boat.

Sure, we'd be open to a PR for that. Here's previous discussion of what it would look like:
https://github.com/zulip/zulip-mobile/issues/1270#issuecomment-1145476504


Expose all ssl options in GRPC.Credential

GRPC.Credential requires paths to certs and keys. It's not always convenient to store certs and keys as files. For example, one common way of including a CA bundle is certifi. Using certifi the certs are returned as a binary.
Instead of creating options structs specific to grpc-elixir maybe it would be better to pass an ssl_option list (from erlang ssl) through. Both the client and the server would accept the same options so it would mean you could do away with the client/server specific credentials. This would also be a little bit closer to the way credentials are implemented in some of the official GRPC libraries.

Thanks!


The Legend of Zelda: Link's Escape - Update

Your checklist for this pull request
Author name
Author: ItzHex

About your game
What is your game about?
A simple 2d side scrolling infinite runner game heavily inspired by the Zelda games.
How do you play your game?
Press K to start the game, also press K to jump, and press J to restart after dying.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

Still 404s on the website. :(

Still 404s on the website. :(

Sorry for this again:(


Multi service creation problem

Hello,
I'm using NUCLEO-F446ZE board and STM32CubeIDE environment. When i try to create second service i get this message:
"failed status on line 313: 1. aborting."
Here is line 313:
RCCHECK(rclc_service_init_default(&motorCommandService, &node, ROSIDL_GET_SRV_TYPE_SUPPORT(trion_interface, srv, MotorCommand), "motor_command"));

After increasing it worked. Thanks.


[BUG]: Keras and SavedModel conversion always leads to "something went wrong while converting"

After clicking the exporting the model, went into the tensorflow tab, and select either keras or SavedModel type of conversion and "download my model" will always download model but error mention "Something went wrong while converting". Also, the zip file cannot be extracted and the file is in error

Windows 10 Home 21H1
Web Browser: Chrome (Version: Version 91.0.4472.77 (Official Build) (64-bit))

Duplicate of #225 that is now hopefully resolved.


update webpacker as outdated yarn dependencies

no ticket
webpacker needed updating as was conflicting with an outdated dependency in yarn.lock

running tests locally suggests that a webpacker config resolved_paths is deprecated and has changed to additional paths but this change will have to be another PR as i think it introduces a race condition in the build being in the same PR as this

no it didnt

What did you change to fix the failing specs?

the specs were failing because originally i had changed resolved_paths -> additional_paths in the webpacker config. this was because when i ran them locally they all passed but many deprecation warnings. when this key was changed in the PR the failures were saying that webpack couldn't compile but the deprecation warnings disappeared and test passed locally (but i did have to make sure i recompiled assets first).

the specs were failing because originally i had changed resolved_paths -> additional_paths in the webpacker config. this was changed because when i ran them locally they all passed but with many deprecation warnings. when this key was changed in the PR the failures were saying that webpack couldn't compile although the deprecation warnings disappeared and test passed locally (but i did have to make sure i recompiled assets first which i dont think the gh action pipeline is able to do).

Ok, can you add a ticket in for addressing the deprecation warning?

my plan was to imediately see if another PR is able to pass with this key change else yes create ticket 👍


#276 Add wildcard support for skip_groups and skip_projects

Implements #276

Thanks for the instant and so nicely tested contribution, @chris-workingmouse ! ❤
I think that the lowered coverage is caused by introducing tests for GitLab EE here that do not run in a fork. I will think about how to deal with that but will make a new release of the app with the new feature regardless if I fix the coverage issue or not - I don't want to hold off a new feature because of this technical issue. 😊

Also fixes #275.

@gdubicki Thanks for reviewing and releasing so quickly!


Fix error when calling build_pkg on ament_cmake package

Whenever I try to use the build_pkg or test_pkg verbs on ament_cmake packages instead of build/test, I get the following error:
$ ament build_pkg .

Process package 'pendulum_msgs' with context:
--------------------------------------------------------------------------------
 source_space => /Users/deanna/ros2_ws/src-master/ros2/demos/pendulum_msgs
  build_space => /Users/deanna/ros2_ws/src-master/ros2/demos/pendulum_msgs/build/pendulum_msgs
install_space => /Users/deanna/ros2_ws/src-master/ros2/demos/pendulum_msgs/install
   make_flags => None
  build_tests => False
--------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/bin/ament", line 9, in <module>
    load_entry_point('ament-tools==0.0.0', 'console_scripts', 'ament')()
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/lib/python3.5/site-packages/ament_tools/commands/ament.py", line 88, in main
    rc = args.main(args)
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/lib/python3.5/site-packages/ament_tools/verbs/build_pkg/cli.py", line 270, in main
    context = get_context(opts)
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/lib/python3.5/site-packages/ament_tools/verbs/build_pkg/cli.py", line 276, in get_context
    return create_context(opts)
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/lib/python3.5/site-packages/ament_tools/verbs/build_pkg/cli.py", line 383, in create_context
    ce = build_type_impl.extend_context(opts)
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/lib/python3.5/site-packages/ament_tools/build_types/ament_cmake.py", line 59, in extend_context
    ce = super(AmentCmakeBuildType, self).extend_context(options)
  File "/Users/deanna/ros2_ws/src-master/ament/ament_tools/install/lib/python3.5/site-packages/ament_tools/build_types/cmake.py", line 88, in extend_context
    force_cmake_configure = options.force_cmake_configure
AttributeError: 'Namespace' object has no attribute 'force_cmake_configure'

I think an appropriate fix is to call super().prepare_arguments in AmentCmakeBuildType, as was done in
https://github.com/ament/ament_tools/commit/a682b3d01cce1eb5691937a9df3bf90f59a1b2cf
However, since in the 'build' verb prepare_arguments is called for both AmentCmakeBuildType and CmakeBuildType, it's also necessary to use the 'resolve' conflict handler on the (sub)parser so it doesn't give an error when the arguments are added a second time.
I've just added the use of the resolve conflict handler for that specific parser, but if you think it's appropriate more globally, then I think this is where it would go: https://github.com/osrf/osrf_pycommon/blob/release-alpha3/osrf_pycommon/cli_utils/verb_pattern.py#L98

Hope to re-open this soon, have discovered some kinks.

Just as feedback: I am a little bit worried about the conflict handler. The chance that it will hide actual problems in the future is pretty high.

thanks for that @dirk-thomas - it's a fair point. I have some ideas for alternatives, but I've opened https://github.com/ament/ament_tools/issues/84 to get an idea of if this direction makes sense or not.


Custom ops tf version

This builds different shared objects for each version of tensorflow we support and then packages them up into the pip package when we deploy.

Done, thanks! https://github.com/mortendahl/tf-encrypted/issues/307


CI: add 2.7

Add 2.7 to build matrix.
This PR also removes the no-longer-used Travis setting sudo: false. See more at the Travis blog.

Thanks, some how I missed this and we've already done it with bake-modernize :)


Rename MumbleWrapper to MumbleClient maybe?

While MumbleWrapper makes sense from the internal point of view, now that the name is exposed to the users through documentation, etc. I think we should rename it to MumbleClient as wrapper might end up confusing the users?
This shouldn't affect the interfaces in any way so it's not as big of a change as it sounds like.
Thoughts?

+1

That's enough for me. Done. :)


[Observation] Verifier connecting to some unknown device

On verifier side, on launching QR screen and opening scanner, without scanning, it is connected to some device and moves to exchange device info screen. This is happening sometimes after multiple VC exchange.
Device Details:
Wallet : iPhone 7 | BLE 4.2 | iOS 15
Verifier : Nokia 6.1 Plus | BLE 5.0 | Android 10
Attaching verifier side logs for reference: connect-before-start-advt.txt

This bug has been moved to Jira.
Link to Jira bug: https://mosip.atlassian.net/browse/INJI-58


Feature/wired tiger config string

Adding the option to add the configString configuration options for the wired tiger engine

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Blur only works for Waybar when scaling is set to > 1.01%

Hi, I'm working on the assumption that this is a compositor issue, and so reporting it here.  If not, please let me know and I'll take it to the Waybar folks :smiley:
Expected behavior: blur works in Waybar no matter the scaling used.
Actual behavior: blur only works when I've set scaling to anything > 1.01% with wlr-randr:
wlr-randr --output eDP-1 --scale 1.01
Note that I have to run this command after (re)starting Hyprland, as for some reason scaling defaults to 1.5%.  And yes, blur works at that scale.
My Hyprland config is here and it's running on:

Arch Linux (Kernel 6.3.6-arch-1)
GPU: UHD Graphics 620 (Intel)
Driver: i915

Note that I just tried waybar-hyprland-git and got the same issue.
Waybar config and style are found here.

Looking at your hyprland config, you haven't put layerrule = blur, waybar into the decoration settings. Could you try that with normal scaling?

Ahh that was it, I had it outside the decoration section.  I was thrown off by the scaling seemingly "fixing" it.
Cheers!

Still no go sorry.

Wondering if it's a driver issue as I'm not seeing drop-shadows either.  Will try this setup on a VM and see what happens.

Found the problem!  Well kinda - custom colors/style from pywal caused 'issues'.  If I remove that, then blur works fine for Waybar, no matter the scaling.
I removed the following line from Waybar's config all all was well - other than the color scheme for by rice being ruined :(
@import "/home/matt/.cache/wal/colors-waybar.css"
Thanks for the help!

Quick update - setting the background color in Waybar kills the blur, unless I pull the scaling trick.

Nope, no go.  I also replaced my config with the sample config here and still no.
Will have a play around with Waybar settings tonight and see if there's something there.

Got it!  The scaling factor was not it, but it is a clue as to what's going on.  I finally narrowed it down to some weird interaction between Waybar's styling and Hyprland's compositor (well, pretty sure without digging through the code).
Basically if I do not apply custom styling to Waybar then everything's fine.  Zero problems with blur.
But apply styling to Waybar, and the following will happen:

start waybar - no blur
force a re-draw by showing/hiding it (via killall -SIGURS1 waybar) - blur appears!
Have Waybar redraw ANYTHING (e.g. clock update, workspace switch) - no blur :-(

UNLESS scaling is set to > 1.01%.  Then it doesn't matter what styling that I'm using, blur just stays.  In fact, it's blurred after startup as well.
So yeah, not sure if I should leave this with you guys or take it to the Waybar team?

Also try this: blurls=waybar It must be add in the hyprland.conf

man, I added this command but it only works for like, 1 second, after that turns off blur :(

The possible reason for the blur not to be applied, is that in css of waybar opacity option is used. Using rgba colors instead (and removing opacity) fixes the issue.

Thanks @Serpentian, that works :-)
Anyway, this is looking very much like a Waybar issue, so I'll close this.

@import "/home/matt/.cache/wal/colors-waybar.css"

Is this for hyprland.conf or waybar css?


added usage for constants and some basic commands

@nishtahir I'm not exactly sure what you are referring to and why you declined the PR? I am not referring users to another system's documentation, only stating that it's inspired by the Android resources. Furthermore, I have a full example of the constants file, a source file using strings from it, and the final output. Is that not explaining how it works?

@slheavner I think @nishtahir was rebutting my suggestion with the comment about referring users to other's documentation. Having an example in the constants is great and probably more than good enough.

Will finish this up


We need list.sorted for all types

Now list.sorted works only with list of primitives (int, float, string, bool). We should change it.

@yegor256 @mximp what do you think?

@EugeneDar as discussed I agree.

@EugeneDar definitely, let's fix this


FlatList Android issue with horizontal scrolling  and pagingEnabled

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment
"expo": "^24.0.2",
"react": "16.0.0",
"react-native": "0.51.0",

Android and IOS of the latest versions.
Development environment is not relevant to this bug.
Steps to Reproduce
Issue is with FlatList with pagingEnabled and horizontal scrolling. Please see the video below.
Expected Behavior
When horizontally  scrolling the FlatList with pagingEnabled in Android if the last page is less than the page width, that page bounces back. Expectation is that the last page is shown.
IOS works as expected showing the last page.
Actual Behavior
There are two ways you can scroll the flatList

scrolling by finger sliding gesture
scrolling by pressing the button and calling e.g.scrollToIndex function.

Both scrolling methods works differently in IOS and Android
method 1. IOS adjusts the page to the last content and Androing bounces back (See the video)
method 2. IOS shows full page letting empty space. Android adjusts the page tho the last content. This potentially is OK but would be nice if both platforms worked similar.
Reproducible Demo
IOS behavior video https://youtu.be/K_pSy6AMi1Y
Android behavior video https://youtu.be/o0f-vSi9abw
Watch for the last last card dated 15 jan 2018
Github repo is here https://github.com/waubau/weather
The FlatList code is below for your convinience
const width = Dimensions.get('window').width;
const moveValue = 3;

class ForecastCardList extends Component {
  scrollToRight = () => {
    const { increaseIndex, weather: { currentIndex } } = this.props;
    increaseIndex(moveValue);
    this.flatListRef.scrollToIndex({ animated: true, index: currentIndex + moveValue });
  };

  scrollToLeft = () => {
    const { decreaseIndex, weather: { currentIndex } } = this.props;
    decreaseIndex(moveValue);
    const scrollIndex = (currentIndex - moveValue > 0) ? currentIndex - moveValue : 0;
    this.flatListRef.scrollToIndex({ animated: true, index: scrollIndex });
  };

  handleScroll = (event) => {
    const { setIndex } = this.props;
    const scrollIndex = Math.ceil(event.nativeEvent.contentOffset.x / width * moveValue);
    setIndex(scrollIndex);
  };

  render() {
    const { weather: { weatherForecast, currentIndex, forecastLength, isFahrenheit } } = this.props;
    const weatherCard = weatherForecast.map(item => (
      <ForecastCardSingle key={item.date} item={item} isFahrenheit={isFahrenheit} />
    ));

    const arrowLeft = (currentIndex > 0)
      ? (<TouchableOpacity style={styles.touchableArea} onPress={this.scrollToLeft}>
        <Image style={styles.arrow} source={require('../../assets/arrow_left_white.png')} />
      </TouchableOpacity>)
      : <Text />;

    const arrowRight = (currentIndex < forecastLength - moveValue)
      ? (<TouchableOpacity style={styles.touchableArea} onPress={this.scrollToRight}>
        <Image style={styles.arrow} source={require('../../assets/arrow_right_white.png')} />
      </TouchableOpacity>) : <Text />;

    return (
      <View style={styles.container}>
        <View style={styles.buttonContainer}>
          {arrowLeft}
          {arrowRight}
        </View>
        <FlatList
          ref={(ref) => {
            this.flatListRef = ref;
          }}
          data={weatherCard}
          renderItem={({ item }) => item}
          onMomentumScrollEnd={this.handleScroll}
          horizontal
          pagingEnabled
        />
      </View>
    );
  }
}

same here


SCM: opening a binary diff looses focus

Steps to Reproduce:

have a change to a binary resource (e.g. PNG)
click it
:bug: changes view looses focus

As always, this is invoking vscode.diff with {preserveFocus: true}. That seems to have broken.

@bpasero This is being hit: https://github.com/Microsoft/vscode/commit/4929acf926a938505653ae20eff6fe18577a6044#diff-0f1abf8ff5283dac48ea3231f2dddfa0R217

Up for grab.

@sandy081 looks like this came in a long time ago via https://github.com/microsoft/vscode/commit/8692734a1b88a8e73045a739bb91589e8bb73eb9
I do not understand why the editor would need to give itself focus(). Typically that should not be needed as the container of editors will call focus() as needed.

Honestly, I do not remember why the change is but I think the change is for side by side settings editor. Settings editor is no longer using SideBySideEditor. So this line can be removed.


No + on workspace to add function project

Does this occur consistently? Yes
Repro steps:

Installed Azure Extensions and Azure Functions extension into VSCode
Logged into Azure account (subscription is there).
Opened RESOURCES and clicked on Function App to see what was there.
Went to WORKSPACE and had only an icon for Deploy and for Refresh, not for Add project.

I expected a + sign to add a function project. As it stands, I can't create a function project so can't work with functions at all. Is there some trick? Happening on two machines.
Version: 1.7.4
OS: win32
OS Release: 10.0.19044
Product: Visual Studio Code
Product Version: 1.70.0
Language: en

Nuts, just saw this was already reported.

A few workarounds:

Downgrade VS Code to 1.69.
Use the command palette (accessed via pressing F1) to run commands. All Azure Functions commands can be run this way.

There's a recent bug in VS Code that's causing some of our buttons to disappear. We're working on getting this fixed because we realize it's super annoying. Sorry for the trouble!
This bug also only happens when you have both the Azure Functions and Azure App Service extensions installed at the same time. So if you uninstall one of those (if you don't need App Service in this case) then the button should re-appear.

Closing as a duplicate of https://github.com/microsoft/vscode-azurefunctions/issues/3280


Adding resolution property to config object reduces the frame rate considerably when running in Phaser.AUTO/Phaser.WEBGL

Hi,
When adding resolution property to config object of the game, the FPS reduces to around 35 when running in Phaser.AUTO/Phaser.WEBGL mode. The same seems to be running at 60 FPS when in Phaser.CANVAS mode.
Device is Samsung j5 with the following hardware
GPU - Adreno 306
RAM - 1.5GB
Chipset  - Qualcomm MSM8916 Snapdragon 410
CPU - Quad-core 1.2 GHz Cortex-A53

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

You're hitting the limits of what the browser can handle with the GPU of that device. It's having to process x resolution more pixels than before, creating larger textures, using more memory. How much this matters depends on what you've got in your game, but you're now using double of everything (or more), so the impact is going to scale linearly.

With a x2 resolution that's now a 2560 x 1600 canvas, which might well be too large for that device to cope with. If the fps drops that much it sounds like it's hitting the fillrate limit, or having to do something internally that the GPU doesn't like (maybe it has a max texture size of 2048? I don't know) - in short, that's a lot of pixels to handle for a mobile browser. Honestly, it's more than some desktops can handle smoothly too. It might be worth removing Phaser entirely and just trying it out with a bog standard vanilla JS and a canvas and see what happens, there are a few helper WebGL libs out there that would get you up to speed quickly.


988 funding updates

Deploy preview for landscape failed.
Built with commit aae55ba09d1ad94b300ef6c700326691ac8a0512
https://app.netlify.com/sites/landscape/deploys/5c026c0eec8a896b7b61180d

Deploy preview for landscape failed.
Built with commit f9e1200d0fc22d5af611f38bf6d11a75759f10d6
https://app.netlify.com/sites/landscape/deploys/5c026cd1daeb0a2f05c7b0cf

@dankohn , LGTM


Hierarchical filters hang when filters are made parents of one another

Suppose you have Filter A and Filter B.  You set Filter A to be a hierarchical filter and its parent to be Filter B.  Then you set Filter B to be a hierarchical filter and its parent to be Filter A.  The app hangs.  If you open up the dev console, you will see errors printed out complaining about maximum recursion depth exceeded.
Expected results
Filters with already assigned relationships should be excluded from the drop down.
Actual results
All available filters are shown and the app goes into a recursive loop if you fatfinger and select a preexisting child.
How to reproduce the bug

Create two filters (filter A and B)
Set filter A to be hierarchical and parent as Filter B
Set Filter B to be hierarchical and parent to be Filter A
Watch app hang forever :(

Environment

superset version: 1.3 branch
python version: Python 3.7.9
node.js version: 14

Checklist

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

@vermilioncity thanks for reporting. I was able to reproduce.
This case is tricky! We can't really check both filters as hierarchical and parent.
However, ideally there should be two hierarchical filter sets showing on the filter bar with A as parent, B as child & B as parent A as child. And user can switch between 2 groups. But right now, when I create two groups separately, all the filters become children of A... see video
Have you tried using filter sets (behind another feature flag) as an alternative?
https://user-images.githubusercontent.com/67837651/124045932-a4b45b00-d9c5-11eb-87f9-e3aebee078ef.mov
this seems quite hard to fix and it's really an edge case. @villebro wdyt?


Hi, What should I do if I want to hide the menu when there is only one element in pagingvc ?

I tried to hide the menu dynamically, but the layout is wrong when I switch back and forth

Hi @DanielYK! How are you hiding the menu? It should be possible to hide it by setting the height to zero for the menuItemSize property. See this discussion for more details: https://github.com/rechsteiner/Parchment/issues/378


[FEATURE] - Enhanced Permissions for Sync-PnPSharePointUserProfilesFromAzureActiveDirectory Command

I am writing to suggest an enhancement for the Sync-PnPSharePointUserProfilesFromAzureActiveDirectory command. Currently, according to the documentation available at [documentation] , the command requires the [User.Read.All] and [Sites.FullControl.All] permissions on SharePoint.
However, I would like to propose a change in the permissions required for this command. Instead of relying on [Sites.FullControl.All], I suggest implementing the use of [Sites.Selected] permissions. The rationale behind this request is that, based on my understanding (which may need verification), write access to SharePoint Online is only necessary for the site used in the connection, as indicated by the -Folder parameter.
By allowing the use of [Sites.Selected] permissions, the command can be more granular and secure. It would only require the necessary access level for the specific site being used, rather than requiring full control permissions for all SharePoint sites.
I believe this enhancement would provide users with more flexibility and control over the permissions required for executing the Sync-PnPSharePointUserProfilesFromAzureActiveDirectory command, aligning it better with the principle of least privilege.
Thank you for considering this feature request. I appreciate your time and attention to this matter. Please let me know if you require any further clarification or information.

hi @fredupstair and @gabbsmo - have updated the docs to reflect the usage of Sites.Selected permissions since we can use that for the file upload to folder process.
As @gabbsmo said, we will still require the full Tenant permissions in ACS via the appinv.aspx , we can't change that due to CSOM limitations.
Thanks for raising this feature request, the updated page will be available tomorrow onwards.


improve the purity of stack2nix generated expressions

travis failures appear unrelated, should i commit the generated file like it says?, nothing i did should have affected the contents so drastically

I'm surprised to see such a big diff. It looks like a complete output file! I'd like to understand better what's going on with that before overriding Travis.

Ah, yes, please include the new stack2nix.nix generated by scripts/check-nix-is-updated.sh. Somehow I erroneously deleted its contents in master.


Stuck on self-hosted runners

Is there an argument to always replace it? or to keep the version on the machine?

@aqabawe , no, there is no argument for this.
This action only installs tflint. We expected clean environment and we only extracted downloaded zip (extract zip function from the actions/tool-cache package).
In your environment you have installed it. You probably does not need this action. Or is there anything what I didn’t understand?


[ConstraintGenerator] Enforce Void result requirement on the empty body closures

Instead of creating defaultable constraint which is very permissive,
let's use equals instead, which wouldn't allow unrelated types to
be matched as a closure result type if there are no explicit return
statements in the body.
Resolves: rdar://problem/34772225

@swift-ci please smoke test

Closing for now.


dingtalk meeting failed to start

Issue
nothing pops up starting dingtalk meet or being called.
My "solution"
use dingtalk.exe with wineStaging
though characters are tofu and might be solved by passing LANG=zh_CN.utf8, I only need meeting on pc so it's acceptable.
BTW, there seems to be an available upstream update

Please try the latest commit from this repo. I have updated DingTalk to latest version and checked that video meeting is working.

thx but, sadly it still doesn't work for me
maybe I'm missing some runtime dependency? This is a brand new nix system
here's a recorded video: https://airportal.cn/34062/ohhJfcB1fD


Version Conflict and Compatibility Issue with MapboxMobileEvents

I am encountering a version conflict and compatibility issue when I try to run the example code (https://github.com/eopeter/flutter_mapbox_navigation/tree/master/example/lib). The error message suggests a conflict with the MapboxMobileEvents library among the following dependencies:

flutter_mapbox_navigation (resolved to version 0.2.2), which depends on MapboxNavigation (~> 2.11) and ultimately on MapboxMobileEvents (~> 1.0).
mapbox_gl (resolved to version 0.0.1), which depends on Mapbox-iOS-SDK (~> 6.4.0) and ultimately on MapboxMobileEvents (~> 0.10.12).

Full Error Message:
Launching lib/main.dart on iPhone 12 Pro Max in debug mode...
Running pod install...                                             556ms
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`:
      (``)
      Using `ARCHS` setting to build architectures of target
      `Pods-RunnerTests`: (``)

    Finding Podfile changes
      A flutter_mapbox_navigation
      - Flutter
      - geocoding_ios
      - geolocator_apple
      - mapbox_gl
      - package_info
      - path_provider_foundation

    Fetching external sources
    -> Fetching podspec for `Flutter` from `Flutter`
    -> Fetching podspec for `flutter_mapbox_navigation` from
    `.symlinks/plugins/flutter_mapbox_navigation/ios`
    -> Fetching podspec for `geocoding_ios` from
    `.symlinks/plugins/geocoding_ios/ios`
    -> Fetching podspec for `geolocator_apple` from
    `.symlinks/plugins/geolocator_apple/ios`
    -> Fetching podspec for `mapbox_gl` from
    `.symlinks/plugins/mapbox_gl/ios`
    -> Fetching podspec for `package_info` from
    `.symlinks/plugins/package_info/ios`
    -> Fetching podspec for `path_provider_foundation` from
    `.symlinks/plugins/path_provider_foundation/darwin`

    Resolving dependencies of `Podfile`
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local
      because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_a_7_3.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/a/7/3/MapboxCoreNavigation/2.17.0/MapboxCoreNavigation.podspec.js
      on exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path: all_pods_versions_5_8_b.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.17.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path: all_pods_versions_7_7_6.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/7/7/6/MapboxAnnotationExtension/0.0.1-beta.2/MapboxAnnotationExte
      nsion.podspec.json exists! Returning local because checking is only
      performed in repo update
      CDN: trunk Relative path: all_pods_versions_a_5_9.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/a/5/9/Mapbox-iOS-SDK/6.4.1/Mapbox-iOS-SDK.podspec.json exists!
      Returning local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_4_2_c.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/4/2/c/FlutterMacOS/3.13.2/FlutterMacOS.podspec.json exists!
      Returning local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/7/7/6/MapboxAnnotationExtension/0.0.1-beta.2/MapboxAnnotationExte
      nsion.podspec.json exists! Returning local because checking is only
      performed in repo update
      CDN: trunk Relative path:
      Specs/a/5/9/Mapbox-iOS-SDK/6.4.1/Mapbox-iOS-SDK.podspec.json exists!
      Returning local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_a_7_0.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/a/7/0/MapboxMobileEvents/1.0.10/MapboxMobileEvents.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/a/5/9/Mapbox-iOS-SDK/6.4.1/Mapbox-iOS-SDK.podspec.json exists!
      Returning local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/a/7/0/MapboxMobileEvents/0.10.14/MapboxMobileEvents.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.17.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.16.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.15.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.14.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.13.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.12.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path:
      Specs/5/8/b/MapboxNavigation/2.11.0/MapboxNavigation.podspec.json
      exists! Returning local because checking is only performed in repo
      update
      CDN: trunk Relative path: all_pods_versions_8_a_8.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/8/a/8/MapboxMaps/11.0.0-beta.5/MapboxMaps.podspec.json exists!
      Returning local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_c_c_6.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/c/c/6/Solar-dev/3.0.1/Solar-dev.podspec.json exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path: all_pods_versions_3_4_a.txt exists! Returning
      local because checking is only performed in repo update
      CDN: trunk Relative path:
      Specs/3/4/a/MapboxSpeech/2.1.1/MapboxSpeech.podspec.json exists!
      Returning local because checking is only performed in repo update
    [!] CocoaPods could not find compatible versions for pod
    "MapboxMobileEvents":
      In snapshot (Podfile.lock):
        MapboxMobileEvents (= 0.10.14, ~> 0.10.12)

      In Podfile:
        flutter_mapbox_navigation (from
        `.symlinks/plugins/flutter_mapbox_navigation/ios`) was resolved to
        0.2.2, which depends on
          MapboxNavigation (~> 2.11) was resolved to 2.17.0, which depends on
            MapboxMobileEvents (~> 1.0)

        mapbox_gl (from `.symlinks/plugins/mapbox_gl/ios`) was resolved to
        0.0.1, which depends on
          Mapbox-iOS-SDK (~> 6.4.0) was resolved to 6.4.1, which depends on
            MapboxMobileEvents (~> 0.10.12)

    You have either:
     * out-of-date source repos which you can update with `pod repo update`
     or with `pod install --repo-update`.
     * changed the constraints of dependency `MapboxMobileEvents` inside your
     development pod `flutter_mapbox_navigation`.
       You should run `pod update MapboxMobileEvents` to apply changes you've
       made.

    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/molinillo-0.
    8.0/lib/molinillo/resolution.rb:317:in `raise_error_unless_state'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/molinillo-0.
    8.0/lib/molinillo/resolution.rb:299:in `block in unwind_for_conflict'
    <internal:kernel>:90:in `tap'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/molinillo-0.
    8.0/lib/molinillo/resolution.rb:297:in `unwind_for_conflict'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/molinillo-0.
    8.0/lib/molinillo/resolution.rb:257:in `process_topmost_state'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/molinillo-0.
    8.0/lib/molinillo/resolution.rb:182:in `resolve'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/molinillo-0.
    8.0/lib/molinillo/resolver.rb:43:in `resolve'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/resolver.rb:94:in `resolve'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer/analyzer.rb:1082:in `block in
    resolve_dependencies'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/user_interface.rb:64:in `section'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer/analyzer.rb:1080:in `resolve_dependencies'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer/analyzer.rb:125:in `analyze'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer.rb:422:in `analyze'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer.rb:244:in `block in resolve_dependencies'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/user_interface.rb:64:in `section'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer.rb:243:in `resolve_dependencies'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/installer.rb:162:in `install!'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/command/install.rb:52:in `run'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/claide-1.1.0
    /lib/claide/command.rb:334:in `run'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/lib/cocoapods/command.rb:52:in `run'
    /Users/0xgets/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/cocoapods-1.
    13.0/bin/pod:55:in `<top (required)>'
    /Users/0xgets/.rbenv/versions/3.1.3/bin/pod:25:in `load'
    /Users/0xgets/.rbenv/versions/3.1.3/bin/pod:25:in `<main>'

Error: CocoaPods's specs repository is too out-of-date to satisfy
dependencies.
To update the CocoaPods specs, run:
  pod repo update

Error running pod install
Error launching application on iPhone 12 Pro Max.

Steps Taken:
I have attempted to resolve the issue by performing the following steps:

Updated CocoaPods specs repository using pod repo update.
Ran flutter pub get to update Flutter dependencies.
Executed pod update MapboxMobileEvents to update the MapboxMobileEvents library.

However, the issue persists, and I am seeking guidance on how to resolve this compatibility problem.
Any help or suggestions on how to address this issue would be greatly appreciated.
Please let me know if there are specific logs, configuration files, or any additional information needed to diagnose and resolve this issue.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.0, on macOS 14.0 23A344 darwin-arm64,
    locale en-ID)
[✓] Android toolchain - develop for Android devices (Android SDK version
    34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] VS Code (version 1.83.1)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

See #273

there's no solution I can use, I still want to use mapbox_gl as a package.

Stale issue message


Added support for dashes in setting names

Added tests to ensure the validity conversion of setting.bzl

Fixes #60

Sorry for the delay, I didn't see your update.
Please just ping me or rerequest a review after pushing a change!

Yeah sure, will do that tomorrow :) thank you


ModuleNotFoundError: No module named 'oyaml'

I've successfully trained 5 loras but now I am getting this when trying to run a job, any ideas?
C:\Users\Oliver\Documents\Github\ai-toolkit>python run.py config/trainFlux.yml
Traceback (most recent call last):
  File "C:\Users\Oliver\Documents\Github\ai-toolkit\run.py", line 22, in <module>
    from toolkit.job import get_job
  File "C:\Users\Oliver\Documents\Github\ai-toolkit\toolkit\job.py", line 3, in <module>
    from toolkit.config import get_config
  File "C:\Users\Oliver\Documents\Github\ai-toolkit\toolkit\config.py", line 5, in <module>
    import oyaml as yaml
ModuleNotFoundError: No module named 'oyaml'

I've tried reinstalling requirements and git pull shows already updated.
EDIT:
It seems I can delete the VENV, re-install everything from that point on, run ONE (1) job and then the error comes back if I cancel or finish it and want to start a new one.

bump!

just do pip install oyaml

check your file extension

just do pip install oyaml

I already did.

check your file extension

It is correct.
FIXED IT BY:
uninstall oyaml, install pandas, force install and upgrade oyaml again, this worked for me.

I had the same problem, did you solve it?

Thank you, we've solved this step. But it's not running yet

This generally happens when the venv is not activated or the requirements are not installed. Try to run through the install process again and watch for errors and report back if it still doesn't work.
Midding UMT5EncoderModel module is from transformers needing to be updated to newer version. run pip install --upgrade -r requirements.txt inside the venv.


Updates game Template to mimic SwiftBreak.

Before, new games created from the Template directory would fail to compile. When fixed, would fail to link
This PR borrows the patterns from Swift Break.
The Errors
After copying the Template directory and updating the appropriate {{Game Name}} placeholders and the pdxinfo file contents, builds would fail with this error:
make: *** No rule to make target `/Users/markd/Projects/thirdparty/swift-playdate-examples/Sources/CPlaydate/posix_memalign.c', needed by `build//Users/markd/Projects/thirdparty/swift-playdate-examples/Sources/CPlaydate/posix_memalign.o'.  Stop.

Taking out the SRC += $(REPO_ROOT)/Sources/CPlaydate/posix_memalign.c line from the makefile results in a link error not finding the playdate symbol:
device_lib.o:(.text.$s10device_lib12eventHandler7pointer0C03args5Int32VSvSg_So13PDSystemEventas6UInt32VtF+0x24): undefined reference to `playdate'

so use SRC += $(REPO_ROOT)/Sources/CPlaydate/playdate.c  instead.
Then, while building, get this error:
Sources/Entry.swift:3:5: error: var 'game' is not concurrency-safe because it is non-isolated global shared mutable state
 1 │ import Playdate
 2 │
 3 │ var game: Game!
   │     ├─ error: var 'game' is not concurrency-safe because it is non-isolated global shared mutable state
   │     ╰─ note: isolate 'game' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
 4 │
 5 │ @_cdecl("update")

Entry.swift changed for SwiftBreak to initialize the game in-place rather than waiting until .initialize time in the Playdate lifecycle.

Thanks for this fix!


[#30] [iOS] [Integrate] As a user, I can see the home screen with surveys

Close #30

What happened 👀

Add a datetime formatter to generate a date time string for iOS platform
Integrate the Home screen with HomeViewCombineViewModel and HomeViewModel
Write test (UT and UI test)

Insight 📝
When a logged-in user opens the application, they will see a survey list
Proof Of Work 📹
https://github.com/nimblehq/avishek-phong-kmm-ic/assets/22606906/7c24bb53-f2d9-4f8f-ad65-62a023aa8ac0

Some small concerns for now.

@AVI5HEK , I solved your comments in the commit f451b1e


Fix 4 native tests

@chapko provided me with the following logs
https://gist.github.com/evabishchevich/5cd89abcd1cb08cd43ea292fa83a227d

I've reproduced that once and can't reproduce for a long period of time

PR thaliproject/Thali_CordovaPlugin#1576

still fails on Nexus 6 https://gist.github.com/vasilevskayaem/7e2d6f5117e01130be7f5292d08ec254

in BtLibrary DiscoveryManager set its BlePeerDiscoverer to null. But BlePeerDiscoverer has link to   DiscoveryManager (it's implement BlePeerDiscoveryListener). And sometimes BlePeerDiscoverer still continue sends callbacks to DiscoveryManager. So in app can exist zombie BlePeerDiscoverer witch continue to send wrong statuses to DiscoveryManager.
Here I set to deleted BlePeerDiscoverer new fake BlePeerDiscoveryListener, that just writes in log messages that something strange happens. But in general better find out who calls methods on deleted BlePeerDiscoverer


fix bug of testing with -OsVHD

Previously, when Runn-LISAv2 with '-OsVHD' and leave '-TestLocation' empty (which means LISA will select a TestLocation automatically),  test will failed, and the VHD may have been copied to some unexpected storage account.  The previous workaround is have some '-TestLocation' provided to Run-LISAv2
Here's the PR to fix the problem, so Run-LISAv2 can have full compatible with backward (using '-OsVHD') and align with design '-TestLocation' can be empty and optional.
===================Test Logs=====================
08/05/2020 03:31:30 : [INFO ] Cleanup test environment if required ...
08/05/2020 03:31:31 : [INFO ] Test ED71 finished
08/05/2020 03:31:31 : [INFO ]
[LISAv2 Test Results Summary]
Test Run On           : 08/05/2020 02:23:03
VHD Under Test        : http://lisasoutheastasia.blob.core.windows.net/vhds/lisCent-validation-185-role-0-ptzdrivwue-osdisk.vhd
Total Test Cases      : 1 (1 Passed, 0 Failed, 0 Aborted, 0 Skipped)
Total Time (dd:hh:mm) : 0:1:8
ID TestArea             TestCaseName                                                                TestResult TestDuration(in minutes)
1 CORE                 VERIFY-DEPLOYMENT-PROVISION                                                       PASS                 1.91
  OsVHD: http://lisawestus2.blob.core.windows.net/vhds/lisCent-validation-185-role-0-ptzdrivwue-osdisk.vhd, TestLocation: westus2, VMGeneration: 1, Kernel Version: 2.6.32-642.15.1.el6.x86_64
  FirstBoot : PASS
  FirstBoot : Call Trace Verification : PASS
  Reboot : PASS
  Reboot : Call Trace Verification : PASS

Logs can be found at C:\LISAv2\ED71\TestResults\2020-08-05-02-22-25-0937
08/05/2020 03:31:31 : [DEBUG] Creating 'C:\LISAv2\ED71\Azure-ED71-TestLogs.zip' from 'C:\LISAv2\ED71\TestResults\2020-08-05-02-22-25-0937'
08/05/2020 03:31:31 : [DEBUG] C:\LISAv2\ED71\Azure-ED71-TestLogs.zip created successfully.
08/05/2020 03:31:31 : [INFO ] Analyzing test results ...
08/05/2020 03:31:31 : [INFO ] LISAv2 exit code: 0
======================Another TestLog==============================
08/05/2020 06:57:22 : [INFO ] VHD 'lisCent-validation-185-role-0-ptzdrivwue-osdisk.vhd' had ever been copied to 'lisawestus2', skip copying again
...
[LISAv2 Test Results Summary]
Test Run On           : 08/05/2020 06:47:06
VHD Under Test        : http://lisasoutheastasia.blob.core.windows.net/vhds/lisCent-validation-185-role-0-ptzdrivwue-osdisk.vhd
Total Test Cases      : 2 (2 Passed, 0 Failed, 0 Aborted, 0 Skipped)
Total Time (dd:hh:mm) : 0:0:16
ID TestArea             TestCaseName                                                                TestResult TestDuration(in minutes)
1 CORE                 CPU-VERIFY-ONLINE                                                                 PASS                  0.3
  OsVHD: http://lisawestus2.blob.core.windows.net/vhds/lisCent-validation-185-role-0-ptzdrivwue-osdisk.vhd, OverrideVMSize: Standard_DS3_v2, TestLocation: westus2, VMGeneration: 1, Kernel Version: 2.6.32-642.15.1.el6.x86_64
2 CORE                 VERIFY-DEPLOYMENT-PROVISION                                                       PASS                 1.94
  OsVHD: http://lisawestus2.blob.core.windows.net/vhds/lisCent-validation-185-role-0-ptzdrivwue-osdisk.vhd, TestLocation: westus2, VMGeneration: 1, Kernel Version: 2.6.32-642.15.1.el6.x86_64
  FirstBoot : PASS
  FirstBoot : Call Trace Verification : PASS
  Reboot : PASS
  Reboot : Call Trace Verification : PASS

Logs can be found at C:\LISAv2\DC97\TestResults\2020-08-05-06-46-28-9931
08/05/2020 07:04:02 : [DEBUG] Creating 'C:\LISAv2\DC97\Azure-DC97-TestLogs.zip' from 'C:\LISAv2\DC97\TestResults\2020-08-05-06-46-28-9931'
08/05/2020 07:04:02 : [DEBUG] C:\LISAv2\DC97\Azure-DC97-TestLogs.zip created successfully.
08/05/2020 07:04:02 : [INFO ] Analyzing test results ...
08/05/2020 07:04:02 : [INFO ] LISAv2 exit code: 0

I don't understand this code change. It looks complicated. Will leave this in @lizzha and @johnsongeorge-w Please check it out.


How to check or set wait till the button is enabled.

From<EMAIL_ADDRESS>on December 09, 2011 10:33:44
What steps will reproduce the problem? What is the best way to wait till the button is enabled?
Currently when I invoke solo.searchText(""), it does find the button and clicks on it, but the button is disabled. So the click really doesn't happen.
So I am setting solo.sleep(10000) and then invoke solo.clickOnText("").
But setting this sleep might not be a good idea as the button might not be enabled in that time. So the test fails.
Want to check if there is a better approach on how to wait or sleep till the button is enabled.
Original issue: http://code.google.com/p/robotium/issues/detail?id=194

From<EMAIL_ADDRESS>on December 12, 2011 22:10:07
Use: solo.getText().isEnabled(). And wait until it returns true back.
Status: Invalid

From<EMAIL_ADDRESS>on April 02, 2015 12:23:52
It always returns true.


Disable Upsize option + Documentation fixes

Hi David
A couple of tweaks to your plugin, if you like.

Added an 'upsize' option for resizing to prevent stretching of images if they are smaller than specified width/height. This is backwards compatible.
Added examples for above
Corrected documentation beforeDeleteFolder event was misnamed
Updated Intervention API links

I've targeted cake4 branch only because that's my working copy, but these could apply to the cake3 version to.
Cheers
Brad

Thanks, but I see some merge conflicts here, perhaps you need to pull the latest commits, as I did merge another PR

Ah, I will fix up and re-submit.

Thanks!


Conformance: Discovery Test Should Push Test Blob

For the discovery test to be standalone, it should first upload the "test blob", as is done in the pull test: https://github.com/opencontainers/distribution-spec/blob/master/conformance/01_pull_test.go#L19-L33
At the moment, Trow fails because the push tests run before the discovery tests, which include an explicit delete of the blob: https://github.com/opencontainers/distribution-spec/blob/master/conformance/02_push_test.go#L210-L219 . Trow checks the digest referenced in the manifest, can't find it and returns an invalid manifest error.
Alternatively the deletes could be removed.

@amouat This takes place during the "setup" section of the discovery test -- in fact, this is the very first test. Is it possible that you have the setup disabled?
Do you have OCI_TAG_LIST set in the environment? Doing so will disable the setup for discovery.

@pmengelbert The discovery test uploads test tags, but it doesn't upload the blob referenced in the manifest.
For most registries this doesn't matter, as the blob is uploaded in the pull test - it later gets deleted in the push test, but most registries don't support blob deletes so this line is effectively ignored.
If you can, try running the discovery test without first running the pull test on an empty registry - all of them should fail assume they properly check manifests.

@amouat My mistake -- I was looking at unmerged changes! PR #133 actually uploads the blob in question

Ah, excellent! Thanks :)

Can we close this now that #133 is merged?

@jzelinskie @jdolitsky Yes, this can be closed now.

Not sure if it was bad practice to close this myself. I'm never sure of GitHub ettiquette... :)


[DRAFT]: Add demonstration of sparsity feature

Closing the PR since there are problems with showcasing the sparsity feature properly with the current version of OpenVINO.


[AutoPR datamigration/resource-manager] Remove TaskOutput base object.

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2760

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/1457


Configure CDK to have more than 10 ECS Stacks

Currently, adding a new backend stack to AWS is impossible due to the next error:
1:11:26 PM | CREATE_FAILED        | AWS::Logs::ResourcePolicy                | discussionSubApiFa...urcePolicy792E2AA9
Resource handler returned message: "Resource limit exceeded. (Service: CloudWatchLogs, Status Code: 400, Request ID: 6cd7ecc9-58f5-43f7-a153-25000a6c2ff4)" (RequestToken: e5f14f46-66
af-a1b0-ad7a-963319303224, HandlerErrorCode: ServiceLimitExceeded)

The issue is this limitation: (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)

Resource policies | Up to 10 CloudWatch Logs resource policies per Region per account. This quota can't be changed.

CDK tries to create a new resource policy for each ECS service. Configuring CDK to use the same Log Group did not help.
The list of created policies can be found with aws describe-resource-policies. Sample output:
{
    "resourcePolicies": [
        {
            "policyName": "devAdminApiStackadminApiFargateTaskDefadminApiContainerLogGroupPolicy3E380D96",
            "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::808019037620:root\"},\"Action\":[\"logs:CreateLogStream\",\"logs:PutLogEvents\"],\"Resource\":\"arn:aws:logs:us-east-2:808019037620:log-group:/ecs/adminApi:*\"}]}",
            "lastUpdatedTime":<PHONE_NUMBER>783
        },
        {
            "policyName": "devAggregationApiStackaggregationApiFargateTaskDefaggregationApiContainerLogGroupPolicyF71CE83E",
            "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::808019037620:root\"},\"Action\":[\"logs:CreateLogStream\",\"logs:PutLogEvents\"],\"Resource\":\"arn:aws:logs:us-east-2:808019037620:log-group:/ecs/aggregationApi:*\"}]}",
            "lastUpdatedTime":<PHONE_NUMBER>703
        },
        {
            "policyName": "devDataLoadApiStackdataLoadApiFargateTaskDefdataLoadApiContainerLogGroupPolicy5B1EC4A0",
            "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::808019037620:root\"},\"Action\":[\"logs:CreateLogStream\",\"logs:PutLogEvents\"],\"Resource\":\"arn:aws:logs:us-east-2:808019037620:log-group:/ecs/dataLoadApi:*\"}]}",
            "lastUpdatedTime":<PHONE_NUMBER>103
        },
...

(related issue: https://github.com/aws/aws-cdk/issues/20313)

Created a case in AWS:<PHONE_NUMBER>1

From Readme.md
Workaround with policy limit from AWS when creating services beyond 10:
List all policies:
aws logs describe-resource-policies
Delete some policies:
aws logs delete-resource-policy --policy-name devNotificationsApiStacknotificationsApiFargateTaskDefnotificationsApiContainerLogGroupPolicyB30998C8
Put a policy to grant access for all services:
aws logs put-resource-policy --policy-name devFargateTaskDefContainerLogGroupPolicyAllServices --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "808019037620" }, "Action": ["logs:CreateLogStream", "logs:PutLogEvents"], "Resource": "arn:aws:logs:us-east-2:808019037620:log-group:/ecs/*" } ] }'


Generate Project?

Hey @JohnSundell 👋, is the reason why there isn't a Project (.xcodeproj) Generatable because generating project.pbxproj is pretty difficult?

Hi @clayellis 👋 That's exactly why. I would love for Xgen to be able to do that in the future though 👍

I'll see what I can do about that... because I'm building some automation tools at work and man that would come in handy!


How to read information from a join table in a many to many relationship

Hey there, I'm using Object 2.5.1 and I'm having a bit of trouble with a many to many relationship.
I have this many to many relationship that looks like this on my Team model.
users: {
        relation: Model.ManyToManyRelation,
        modelClass: User,
        join: {
          from: 'teams.id',
          through: {
            from: 'teamsToUsers.teamId',
            to: 'teamsToUsers.userId',
          },
          to: 'users.id',
        },
      },

I can pull out the users no problem, but my join table teamsToUsers also contains information that I need about each user, specific to that team.
How can I fetch information from the join table itself, and append it to the user record?
e.g. a response would ideally look something like this, where the individual users in the relation have the information from teamsToUsers appended to their object (specifically, joinedTeamAt and teamRoleId)
Team {
  id: 1,
  name: 'test',
  isPersonal: false,
  deletedAt: null,
  createdAt: 2020-05-29T16:08:58.423Z,
  updatedAt: 2020-05-29T16:08:58.423Z,
  users: [
    User {
      id: 1,
      roleId: 1,
      deletedAt: null,
      createdAt: 2020-05-29T16:08:58.421Z,
      updatedAt: 2020-05-29T16:08:58.421Z,
      email<EMAIL_ADDRESS>      uuid: '123-123-123-123',
      joinedTeamAt: 2020-05-29T17:08:58.421Z,
      teamRoleId: 2
    },
    User {
      id: 2,
      roleId: 2,
      deletedAt: null,
      createdAt: 2020-06-05T11:41:26.867Z,
      updatedAt: 2020-06-05T11:41:26.867Z,
      email: 'blah',
      uuid: 'bfb76150-dae5-4259-953c-fdef42caeaf4',
      joinedTeamAt: 2020-06-05T12:41:26.867Z,
      teamRoleId: 3,
    }
  ]
}

My current query pattern looks like this
await Team.query().findById(1).withGraphJoined('users')

I've added a select using the users_join that gets created, but that appends to the Team object, instead of the individual users.
 await Team.query().findById(1).withGraphJoined('users').select('*', 'users_join.createdAt AS joinedAt')

That unfortunately returns a response like this, only fetching the information about the first user, and appending the information to the team instead of the user.
Team {
  id: 1,
  name: 'test',
  isPersonal: false,
  deletedAt: null,
  createdAt: 2020-05-29T16:08:58.423Z,
  updatedAt: 2020-05-29T16:08:58.423Z,
  teamId: 1,
  userId: 1,
  userRoleId: 1,
  roleId: 1,
  email<EMAIL_ADDRESS>  uuid: '123-123-123-123',
  joinedAt: 2020-05-29T16:08:58.424Z,
  users: [
    User {
      id: 1,
      roleId: 1,
      deletedAt: null,
      createdAt: 2020-05-29T16:08:58.421Z,
      updatedAt: 2020-05-29T16:08:58.421Z,
      email<EMAIL_ADDRESS>      uuid: '123-123-123-123'
    },
    User {
      id: 2,
      roleId: 2,
      deletedAt: null,
      createdAt: 2020-06-05T11:41:26.867Z,
      updatedAt: 2020-06-05T11:41:26.867Z,
      email: 'blah',
      uuid: 'bfb76150-dae5-4259-953c-fdef42caeaf4'
    }
  ]
}

Is there a simple way to do this without having to make a separate query to the join table?

The feature your are looking for is extra properties. See this recipe.

Thanks for the quick response @koskimas that works well, but for the createdAt column on my join table, I'm getting
Uncaught TypeError: Cannot read property 'getColumnForColumnAlias' of undefined
    at Function.create (/Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/join/JoinResultColumn.js:16:23)
    at /Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/join/JoinResultParser.js:98:24
    at Array.map (<anonymous>)
    at JoinResultParser._createColumns (/Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/join/JoinResultParser.js:97:38)
    at JoinResultParser.parse (/Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/join/JoinResultParser.js:25:36)
    at RelationJoiner.parseResult (/Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/join/RelationJoiner.js:90:19)
    at JoinEagerOperation.onRawResult (/Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/operations/eager/JoinEagerOperation.js:39:24)
    at QueryBuilder.callAsyncOperationMethod (/Users/jonathanomahony/ev/api/node_modules/objection/lib/queryBuilder/QueryBuilderOperationSupport.js:365:39)

I've defined it like this, is there something I'm missing?
users: {
        relation: Model.ManyToManyRelation,
        modelClass: User,
        join: {
          from: 'teams.id',
          through: {
            from: 'teamsToUsers.teamId',
            to: 'teamsToUsers.userId',
            extra: ['createdAt AS joinedTeamAt', 'userRoleId'],
          },
          to: 'users.id',
        },
      },

@koskimas quick bump on this, appreciate you're busy but would love to know if this is an actual bug, or if this is a clear case of PEBKAC.

Not a bug. createdAt AS joinedTeamAt is definitely not a column name.

There's no recipe that says you can use raw SQL statements or as in a a column name. You can provide an object:
{
  userRoleId: 'teamRoleId'
}

Ah amazing, that is so much clearer. Thanks!


feat: Initial version

Changes

Convert to TS
Use remark-typedoc-symbol-links

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Reintroduce prematurely dropped deprecated config properties

Towards https://github.com/giantswarm/giantswarm/issues/9379
These config properties were dropped in https://github.com/giantswarm/nginx-ingress-controller-app/pull/26, released in nginx IC App v1.4.0.

Tested on gauss


Add api google sheets

/api

/api/google-sheets

Sample output and raw data:

Quickstart link
Redirects to Google Sheets that is readily usable

Setup Guide link
Redirects to a blog with visual guide to setup your Google Sheets as Back-End

Closing in favor of https://github.com/sahat/hackathon-starter/pull/981


Method Clone in NpgsqlOptionsExtension not implemented

I am testing AspNetCore and EFCore 1.2.0-preview libraries and want to use npgsql as the provider.
After I switched to your myget feed
<add key="NpgsqlUnstable" value="https://www.myget.org/F/npgsql-unstable/api/v3/index.json" />

everything restores and builds fine but at runtime I get the following error:
Application started. Press Ctrl+C to shut down.
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HL3TVFDEOLKM": An unhandled exception was thrown by the application.
System.TypeLoadException: Method 'Clone' in type 'Microsoft.EntityFrameworkCore.Infrastructure.Internal.NpgsqlOptionsExtension' from assembly 'Npgsql.EntityFrameworkCore.PostgreSQL, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' does not have an implementation.
at Microsoft.EntityFrameworkCore.NpgsqlDbContextOptionsExtensions.UseNpgsql
I noticed that you changed the class to include the Clone method 16 days ago but the newest version on myget is 1.2.0-ci-87 which does not seem to contain this. Any idea what I could do?

Sorry for taking so long witht his.
Unfortunately the NpgsqlUnstable nuget feed doesn't contain up to date version of Npgsql EF Core - this is because there are some issues with the CI build which pushes to that feed. So you're trying to make an "old" version of the Npgsql EF Core 1.2.0 work with newer versions of EF Core, hence the mismatch.
You can clone the Npgsql repo and build yourself - it should be quite easy - and things should work better (although there may still be some sync issues from time to time). Otherwise it's good idea to stay on the stable versions, unless there's something specific you're trying to do with 1.2.0.
Let me know if it works out for you.

Ok, thanks for answering. The reason I need the new EF Core is that I want to test all this on a Raspberry PI. It looks like ARM architectures are better (only?) supported by the 2.0 versions of .NET Core.
Assuming I would build Npgsql locally. How would I reference it? Would I need a local Nuget Repo? Thanks for you help.

Even if you need to use .NET Core 2.0, that doesn't mean you need to use EF Core 1.2.0 (or 2) - you should be perfectly fine using unstable .NET Core 2.0 with a stable version of EF Core and Npgsql...
If you do decide to build locally, you can just add a plain-old direct assembly reference without any nuget (at least to test). Of course you can also set up a company nuget feed and publish to that.

Ok, thanks. I will try it that way.

Just to give a final feedback on this issue:
I used the stable versions of EF Core and Npgsql as you suggested with .NET Core 2.0. This worked perfectly. ASP.NET + Npgsql/Postgres on Linux on a Raspberry PI. Awesome!

Great to hear!

@roji any idea on when the latest version will be available? thanks

@roji Solved my problem as well. thank you very much.

@jaredcnance if you're referring to version 2.0 of the EF Core provider, it will probably take a couple of weeks. I have been extremely busy in the past 2 months but will have lots of spare time soon.

So what's the status on this? .NET Core 2.0/.NET Standard 2.0 was released yesterday. We've tried upgrading to see what breaks and Npgsql is one of the things that's causing trouble :)

I've been running on
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.0.0-preview2-final" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.Design" Version="2.0.0-preview1" PrivateAssets="All" />

but it'd be cool to get a final release

If I may add, using the version 2.0.0-preview2-final with the version 2.0.0 of EF Core, will get you the following error for any database interaction.

Method 'Clone' in type 'Microsoft.EntityFrameworkCore.Storage.Internal.NpgsqlTypeMapping' from assembly 'Npgsql.EntityFrameworkCore.PostgreSQL, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' does not have an implementation.

FYI 2.0.0 RTM is out, this should be gone now.


IMAGES-1258: Don't pollute global scope with generally named types

Fixes #2537

Would be good to see this merged soon if possible 👀


Create an F# client using just a HttpClient / Interop with HttpClientFactory

Hi,
I've only had a brief go with Snowflaqe so far and might be jumping in a bit quickly, but in case this counts a an interesting or reasonable thought:
I have an existing REST API using ASPCore and NSwag/OpenApi, and am having a play with GraphQl to see if it can simplify some things.
The consumers of that are using NSwag to generate C# client classes, and use HttpClientFactory with typed clients to generate class instances (that allows centralised configuration of HttpClient settings, plus supports wiring the clients into Polly and the host logging setup).
The NSwag client generator can generate classes with several different approaches of providing HttpClients and the server base URL, and we have it set up so that the generated classes only get given a pre-configured HttpClient and not the URL (which is nice when using DI as injecting plain strings into classes doesn't really work).
I had a go at wiring the Snowflaqe generated clients into the same DI setup and it doesn't work on its own because of the constructors taking strings (and/or having multiple constructors available).
This isn't a major problem because I can always register things in the DI container using factory delegates (and manually create a client class instance from a HttpClient I make myself and a null URL), but I wonder if it would be considered reasonable or useful to be able to configure it to generate clients with a single constructor that takes a HttpClient, and nothing else?
i.e., this is a wordy and roundabout request for the ability to generate clients whose constructor is just
type %s(httpClient: HttpClient) =

:-)

Hi @Numpsy this sounds like a nice addition to the generated client. It is a minor issue but I guess another constructor won't hurt and we can set the url to use the base url of the input client. Will be happy to accept PRs for this one 😉

@Numpsy do you mean passing HttpClient with BaseAddress set to GraphQL endpoint?

Yes.
As it stands now you can pass a null URL string to the graphql client constructor and that seems to work ok (though not necessarily obvious from the outside that that is allowed?), and you can wire it in to the DI infrastructure in ASP.Net Core and such using IHttpclientFactory by doing something like:
    services.AddScoped(sp =>
    {
        var httpClient = sp.GetRequiredService<IHttpClientFactory>().CreateClient("graphql");
        return new sampleGraphqlClient(null, httpClient);
    });

A additional constructor that just takes a HttpClient might avoid the null there, but I don't think you can use the typed HttpclientFactory functions such as
services.AddHttpClient<sampleGraphqlClient>()

unless that is the only constructor (because it can't resolve which constructor to use, and string params don';t get on with the DI setup either). However, I don't know if it's worth giving the client generator the ability to generate client classes with a single constructor just for that, given the simple work around.

@Zaid-Ajaj I think it is a good idea. We can add this into the latest PR

Adding another constructor accepting only HttpClient sounds good, since it is not a breaking change. Then we can for example use base url / base address to initialize the url parameter. No need for another config option to implement this ✔

@Numpsy I do wonder though, when you say:
services.AddHttpClient<SampleGraphqlClient>()

Where exactly do you provide the endpoint of the GraphQL API?

services.AddHttpClient<SampleGraphqlClient>((provider, httpClient) =>
{
    var configuration = provider.GetRequiredService<IConfiguration>();
    var endpointUrl = configuration["GraphQLEndpoint"];
    httpClient.BaseAddress = endpointUrl;
})

@Zaid-Ajaj I think it is a good idea. We can add this into the latest PR

Adding another constructor accepting only HttpClient sounds good, since it is not a breaking change. Then we can for example use base url / base address to initialize the url parameter. No need for another config option to implement this ✔

@anthony-mi

services.AddHttpClient<SampleGraphqlClient>((provider, httpClient) =>
{
    var configuration = provider.GetRequiredService<IConfiguration>();
    var endpointUrl = configuration["GraphQLEndpoint"];
    httpClient.BaseAddress = endpointUrl;
})

That's basically it, though i'm currently using the named client version together with services.AddScoped, e.g.

services.AddHttpClient("sampleGraphqlClient", (provider, httpClient) =>
{
    ...
})

services.AddScoped(sp =>
 {
     var httpClient = sp.GetRequiredService<IHttpClientFactory>().CreateClient("sampleGraphqlClient");
     return new sampleGraphqlClient(null, httpClient);
 });

@Numpsy if you want to avoid passing null, wouldn't you just do this:
services.AddScoped(sp =>
{
     var httpClient = sp.GetRequiredService<IHttpClientFactory>().CreateClient("sampleGraphqlClient");
     return new SampleGraphqlClient(httpClient.BaseAddress, httpClient);
});

🤔

@Zaid-Ajaj can we substitute headers with HttpClient parameter? Will not there be to many constructors if we leave headers?

What headers?

You have 2 parameters for Newtonsoft client:

URL
headers

I propose:

URL
httpClient

The first combo of Client(url: string) and Client(url: string, headers: Header list) is only for Fable targets which don't have HttpClient, so to customize the underlying requests, you can only modify the headers. The Header type from the constructor is coming from Fable.SimpleHttp (again, Fable only packages)
The second combo is for fsharp targets where users can access and provide HttpClient

Ah, got it


Ensure column order is correct in prediction validation.

This can be checked for dataframes, users should be able to optionally disable the check via the existing validate_features parameter.

actually, this has already been done.


Issue33

Issue 33
Description of changes:
•Abstracted logic to handle nonidempotent failures that could cause inapropriate error log "Previous action was not able to update IndexMetaData."
•Detects transient failure for rollover step with testing
CheckList:

[ x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

you can raise PR to 2.x or cherry-pick this commit this commit to main branch


no-relative-parent-imports over-reporting when import/resolver = typescript

I have been using the following tslint rule:
"no-relative-imports": [true, "allow-siblings"],

to forbid any relative imports such as import constants from '../constants'
I am trying to migrate my tslint rules to eslint, and it seems like the rule import/no-relative-parent-imports should be what I am looking for. However, when I turn the rule on, all of my imports that are path rewrites in my tsconfig file report errors. See image below.

I have the following tsconfig.json
  ...
  "baseUrl": ".",
  "paths": {
     "@commons/*": ["./commons/src/*"]
  },
  ...

And the following eslintrc.js
 ...
 "import/no-relative-parent-imports": ["warn"],
 ...
 "settings": {
    "import/resolver": {
      "typescript": {},
    }
  }

...
When I log out the input before the error is reported here, I see the following paths getting reported:
../../types.ts
../../types.ts { id: 'import/no-relative-parent-imports',

It seems as though the typescript import/resolver is translating the paths before they are applied to this eslint check. Is there a way that I can configure my eslint to work with this use case? or is this not yet possible

the point of the rule is about resolved parent imports, not aliased ones - if all you want is to block ../ you can use no-restricted-syntax and an AST selector.
I think it would work the same with a webpack alias.

What TS parser are you using? I don't think it's the resolver, I think it's the TS parser rewriting the path before the lint rule runs.

@benmosher "parser": "@typescript-eslint/parser",

I'm not sure what you mean. I think the parser always runs before the lint rule.
The parser would need to choose not to process the paths first. I am not 100% sure it's doing this but when I looked at the code for no-relative-parent-imports IIRC it's using the path straight from the AST.

Sorry, I just double-checked and I must have looked in the wrong place before. It is resolving the path inside the rule which means it is the plugin's problem.

wait, @ljharb, by this

the point of the rule is about resolved parent imports, not aliased ones

you mean that you think this rule shouldn't only fire on import paths that start with ..?

I think the fix for #1123 was an overcorrection and it should still check for a leading . in the path. if you agree, @ljharb?

@benmosher no, what i mean is, the path you type in your code shouldn't matter - only what it resolves to should matter.

if all you want is to block ../ you can use no-restricted-syntax and an AST selector

@ljharb This is not a great option when extending a config such as eslint-config-airbnb that already enables no-restricted-syntax with its own config, since any options I set on the rule would clobber the ones from the shared config. I could write my own rule, but that seems like overkill.
And while some might be using this rule to prevent resolution of imports higher in the tree, I just want to prevent the use of .. in imports since it makes them inherently fragile if files are moved to a different level in the tree. I do specifically care about the way that import paths are specified.

@smably you're correct about the difficulty there; you could write your own rule using eslint-rule-composer and no-restricted-syntax, though.
.. doesn't make things any more fragile than literally any other path. Any file rename or move potentially means you have to update all consumers. The "hard to read" part, I disagree with but recognize is subjective.

.. doesn't make things any more fragile than literally any other path.

It may be true that the path is equally "fragile" on a rename or move but if the paths are absolute (or pseudo-absolute by using an alias), when you move a file you have a much stronger understanding of where that path moved to.
Take for example the two pieces of code:
Relative
import addTwoNumbers from '../addToNumbers';

Aliased
import addTwoNumbers from '@backend/utils/addToNumbers';

Say i now move the function addToNumbers to my common utility function module because I want to share it with my frontend project.
the new code will be
Aliased Updated
import addTwoNumbers from '@commons/utils/addToNumbers';

Both of the relative and aliased paths will require an update of course but I can now do a find and replace in my editor for @backend/utils/addToNumbers -> @commons/utils/addToNumbers which is incredibly easy in the case of aliased paths, but I will have to manually go through all relative paths because a find and replace on ../ is not as simple.
However, I do understand if this is the wrong rule for this desired outcome.

Yes - I think you want a custom rule that forces every specifier to be bare - ie, to forbid relative paths entirely.

just ran into the same issue. an easy solution maybe:
https://github.com/benmosher/eslint-plugin-import/issues/669#issuecomment-316438608

The unfortunate thing about the workaround in #669 is that it doesn't allow adding custom error messages, because no-restricted-import only allows custom error messages for exact path matches (but not patterns). So the developer will see "this import is restricted by a pattern" but no explanation of why.

I'm running into an issue that ../../foo.bar.ts is reported as an error but ../../foo.bar is not. Is that within the scope of this issue or should I start a new one?

I would expect both to resolve to the same thing if the typescript resolver is set up properly.

@ljharb they do both resolve to the same thing and import correctly at runtime. But one is reported as an error by ESLint when no-restricted-import is enabled and one is not.

Yes, I agree with you.

Any news for this problem? It is prohibiting the use of the no-relative-parent-imports rule in TS packages with path aliases.

Any news for this problem? It is prohibiting the use of the no-relative-parent-imports rule in TS packages with path aliases.

Here is the .eslint rule I'm using with a NestJS project using Typescript:
module.exports = {
  rules: {
    'no-restricted-imports': ['error', {'patterns': ['..*']}],
  }
}

This prevents any parent import like import ... from '..*'. Instead, imports must be specified using the alias. I could not figure out how to do this with a custom message.

Here is how I implemented this on a NestJS project with Typescript:
module.exports = {
  rules: {
    'no-restricted-imports': ['error', {'patterns': ['..*']}],
  },
};

It prevents any import statement that references the parent dir as relative, forcing the use of an alias. I didn't figure out how to add a custom message.

I didn't figure out how to add a custom message.

Here's an example of a custom message (docs):
module.exports = {
  rules: {
    'no-restricted-imports': [
      'error',
      {
        patterns: [
          {
            group: ['../*'],
            message: 'Usage of relative parent imports is not allowed.',
          },
        ],
      },
    ],
  },
};

close in favor of https://github.com/import-js/eslint-import-resolver-typescript
Feel free to comment if it still occurs.

@jounqin this one seems to already be using the TS resolver

@JounQin this one seems to already be using the TS resolver

Hah, sorry to misread the thread.
But there is no reproduction was provided, so it's hard to tell what was the cause then.


System.TypeInitializationException at AngleSharp.Parser.Html.HtmlDomBuilder.AddElement

Some machines break when a document is parsed using Anglesharp 0.9.4:
`Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at System.MulticastDelegate.CtorOpened(System.Object, IntPtr, IntPtr)
at AngleSharp.Factories.InputTypeFactory..ctor()
at AngleSharp.Factory..cctor()
Exception Info: System.TypeInitializationException
at AngleSharp.Parser.Html.HtmlDomBuilder.AddElement(AngleSharp.Parser.Html.HtmlTagToken, Boolean)
at AngleSharp.Parser.Html.HtmlDomBuilder.InHead(AngleSharp.Parser.Html.HtmlToken)
at AngleSharp.Parser.Html.HtmlDomBuilder.Parse(AngleSharp.Parser.Html.HtmlParserOptions)`
Since this only happens on two machines (non dev) this is a bit tricky to debug.
If requested I can send the exact code.

Interesting... AccessViolationException. It's hard to believe. Most interestingly, it does not seem to be that easy to reproduce (making it quite random, right?).
But since the origin is somewhere in InputTypeFactory I assume that one of the InputType classes is closely related to this exception. I'll look over it (but I can't promise to solve it due to the induced randomness).

No it's not random but it is limited to certain machine's. For now it's only on windows 8.1 x64.

If its not random then please provide the code to reproduce (A couple of machines seems to be random. Why these machines? If you know what distinguishes a working machine from one where the error occurs, then its reproducible).

do you try running from network share? are the dlls marked as "downloaded from the internet"?

It is not running from a network share (our program doesn't support it), and the dll's are not marked as "downloaded from the internet", I will try to make an example code lateron.

Must have been a compiler error, no matter how hard I try to reproduce it it seems to have gone. Lets hope it stays that way. Thanks for your support!

Yes, potentially. Thanks for your efforts!


restore: avoid postProcess to block import

What problem does this PR solve?
Avoid postProcess to block import
What is changed and how it works?
Check List
Tests

Unit test
Integration test

Side effects
N/A
Related changes
N/A

/run-all-tests

/run-all-tests


Memory bloat

The code (basing on the example from the readme)
#![recursion_limit = "1024"]
#[macro_use]
extern crate error_chain;

mod errors {
    error_chain! { }
}

fn main () {
    use errors::Result as ChainResult;
    use std::mem::size_of;
    println!("size of vanilla result {}", size_of::<Result<(), ()>>());
    println!("size of error_chain result {}", size_of::<ChainResult<()>>());
}

outputs:
size of vanilla result 1
size of error_chain result 56

I might be wrong, but isn't ChainResult just "yet another enum", which means those 55 extra bytes have to be copied over when returning, even in the success event? That would mean quite a performance overhead over normal Result in hot code, especially where only the Ok case which may be minimal is encountered, no?
Maybe the situation can be improved by making the backtrace functionality optional, as in possible to opt out of at compile time?

@kali has made a very interesting overview over the origin of the 56 bytes: https://github.com/brson/error-chain/pull/45#issuecomment-249410945

This doesn't seem like a great comparison - no one is using Result<(), ()> (if they are, they should probably be using bool or a new enum). How does an error_chain generated result compare to say io::Result, carrying the same information?

if they are, they should probably be using bool or a new enum

Result<(), ()> is very useful as it can be used together with the try macro, and it carries the information for the reader with it that the operation is failable. Bool can mean anything, you have to read the docs to find out what it means. Documenting your API over the type system is one of the things Rust is about. Also, it gives the user a warning that it needs to be used, unlike bool.
Regardless of whether Result<(),()> is considered something to avoid or not, which can be surely discussed about, I only wanted to measure what the additional overhead was of the error-chain error.
And about io::Result: io::Result<()> uses 24 bytes, which is still less than half of what the error-chain Result is carrying.

Regardless of whether Result<(),()> is considered something to avoid or not, which can be surely discussed about, I only wanted to measure what the additional overhead was of the error-chain error.

OK but you've used a type which has 0 bytes of data for the non-discriminant portion. All you've documented is that the largest variant of the null error chain is 55 bytes. That doesn't mean that the equivalent of io::Result is 79 bytes, it might still be 55 bytes large.

Not really an issue, closing.

This is a pretty major issue of this crate, as its against the "performance speed ease of use pick three" motto of Rust, by improving ease of use by heavily impairing performance.

The solution would be to make the Msg variant optional. Any idea about the macro syntax?

https://github.com/brson/error-chain/commit/2d34f22fb90f2d3159c0bd2eaa890ac6130a4096

If we assume that errors are less likely than the happy path, we can optimize the memory footprint for the happy path if we heap-allocate most of the error payload.
If we look at Result<T, E>, then T might be as small as (). So it might be desirable to get E as small as a pointer, i.e. boxing everything E = Box<SomeError> without erasing the type information (i.e. no trait object). In situations where errors are unlikely, the error-path may be expensive as long as the happy-path is optimized.
But on the other hand there may be situations where such heap allocations are not desirable, e.g. (i) when errors happen frequently or (ii) when compiling with #[no_std] and heap allocations are not possible or (iii) error handling in oom situations.
So maybe error_chain could offer different memory layouts which implement the same interfaces and are therefore completely exchangeable (when looked at from the outside).

Hum, interesting. Any idea for a the syntax?

I think the first question is: do you want this behavior to be controlled by syntax in the macro invocation, or by a crate feature? A crate feature would be easier to implement & IMO probably easier to use (less new syntax to learn), but wouldn't allow you to scope the behavior to an individual invocation. I'm not sure how often people are defining multiple error_chains in their crate, much less they have a need to different performance properties between them.

A crate feature would be enough for me, too. Anything that makes the memory footprint smaller :)

I think you could start with a crate feature. That should be sufficient in most cases. A syntax could still be introduced later if there is demand and the crate feature would then only set the default behaviour.

Someone correct me if we don't guarantee this yet, but I think if you box the error, Result<()>s will be subject to the NPO, and be word-size. The Ok case will be represented by a null pointer. This seems pretty :+1:.

I started the implementation with the feature, but I get errors like Box<Error>: std::convert::From<std::io::Error>. I guess I have to use a tuple struct?

@Yamakaky Have you tried implementing From<E: std::error::Error> for Box<Error>? Box is exempted from some of the normal orphan rules and so it might work.

Oh, cool!

Please review https://github.com/brson/error-chain/pull/69

Result<()>: 8
  (): 0
  Error: 8

Awesome!

Is there still work to be done on this issue?


[469348]: Add magic functions [step 2]

I have rebased my commit on top of the meanwhile updated code.

Approved, HW done, closing


Connect Bank Account - An error message appears 'The validation code you entered is incorrect, please try again.' after navigating back to 'Connect bank account, also the area is grayed out

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: not able to check production
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Issue found when executing PR https://github.com/Expensify/App/pull/32205
Action Performed:

Ensure you're connected with staging server
Go to workspace > Add Bank Account
Click Connect Manually, Routing Number: 011401533, Account number:<PHONE_NUMBER>331111 > Continue
I next step fill out Legal Business Name: Alberta Bobbeth Charleson, Tax ID number: 123456789 (any nine digits), addres must be US based and valid, any date > Save & Continue
In next step First name: Alberta, Last name: Charleson, Toggle confirmation you are authorized to use company bank > Save & Continue
In Beneficial Owners Toggle terms and conditions, Toggle confirmation that the information provided is true and accurate
Enter any number for the fields
Back to to Connect bank account.

Expected Result:
User should not see any error message 'The validation code you entered is incorrect, please try again' after navigating back to 'Connect bank account and area should be greyed out
Actual Result:
An error message appears 'The validation code you entered is incorrect, please try again.' after navigating back to 'Connect bank account, also the area is grayed out
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/0c422ab7-a6e9-49c3-84da-06fdb8108baa
View all open jobs on GitHub

I can reproduce locally as well. I suspect that this PR is our culprit https://github.com/Expensify/App/pull/32205

Okay, I'm not entirely sure that https://github.com/Expensify/App/pull/32205 is the culprit here, but I can say that I tested this locally and was able to recreate the issue. When I checked the linked issue, the testing steps stated that one needed to check the validation amounts in the db, which I did and was able to proceed with validating the account.
I'm not sure how the Alberta Bobbeth Charleson account is supposed to work but I don't think real users will be affected by this issue, so I'm going to demote from being a blocker.

The more I think about this one, the more I think it's working as intended. Going to close this one out but folks can reopen if they disagree.