IOS devices are always showing test ads

I have the following ad Repository

code sample
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:my_app/data/api/constants.dart';

class AdMobRepository {
  late String liveBannerAdId;
  late String liveInterstitualAdId;
  late String liveRewardedAdId;

  AdMobRepository() {
    if (Platform.isAndroid) {
      liveBannerAdId = Constants.androidBannedAdId;
      liveInterstitualAdId = Constants.androidInterstitualAdId;
      liveRewardedAdId = Constants.androidRewardedAdId;
    } else if (Platform.isIOS) {
      liveBannerAdId = Constants.iosBannerAdId;
      liveInterstitualAdId = Constants.iosInterstitualAdId;
      liveRewardedAdId = Constants.iosRewardedAdId;
    } else {
      liveBannerAdId = "";
      liveInterstitualAdId = "";
      liveRewardedAdId = "";
    }
  }

  BannerAd getBannerAd({
    required AdSize size,
    void Function(Ad, LoadAdError)? onFailedLoad,
    void Function(Ad)? onLoad,
    void Function(Ad)? onAdOpened,
    void Function(Ad)? onAdImpression,
  }) {
    return BannerAd(
      adUnitId: kReleaseMode ? liveBannerAdId : BannerAd.testAdUnitId,
      request: AdRequest(),
      size: size,
      listener: BannerAdListener(
        onAdFailedToLoad: onFailedLoad ?? onFailedLoadFallback,
        onAdLoaded: onLoad,
        onAdImpression: onAdImpression,
        onAdOpened: onAdOpened,
      ),
    );
  }

  void onFailedLoadFallback(Ad ad, LoadAdError error) {
    ad.dispose();
  }

  void getInterstitualAd({required void Function(LoadAdError) onFailedLoad, void Function(InterstitialAd)? onLoad}) {
    InterstitialAd.load(
      adUnitId: kReleaseMode ? liveInterstitualAdId : InterstitialAd.testAdUnitId,
      request: AdRequest(),
      adLoadCallback: InterstitialAdLoadCallback(
        onAdLoaded: onLoad ?? onInterstitialAdLoadedFallback,
        onAdFailedToLoad: onFailedLoad,
      ),
    );
  }

  void onInterstitialAdLoadedFallback(InterstitialAd ad) {
    ad.fullScreenContentCallback = FullScreenContentCallback(
        onAdDismissedFullScreenContent: (ad) => ad.dispose(), onAdFailedToShowFullScreenContent: (ad, error) => ad.dispose());
  }

  void getRewardAd({required String userId, required void Function(LoadAdError) onFailedLoad, void Function(RewardedAd)? onLoad}) {
    RewardedAd.load(
      adUnitId: kReleaseMode ? liveRewardedAdId : RewardedAd.testAdUnitId,
      request: AdRequest(),
      rewardedAdLoadCallback: RewardedAdLoadCallback(
        onAdLoaded: onLoad ?? onRewardedAdLoadedFallback,
        onAdFailedToLoad: onFailedLoad,
      ),
      serverSideVerificationOptions: ServerSideVerificationOptions(userId: userId),
    );
  }

  void onRewardedAdLoadedFallback(RewardedAd ad) {
    ad.fullScreenContentCallback = FullScreenContentCallback(
        onAdDismissedFullScreenContent: (ad) => ad.dispose(), onAdFailedToShowFullScreenContent: (ad, error) => ad.dispose());
  }
}

And I have the following widget for banner ads
    class MyBannerAd extends StatefulWidget {

      const MyBannerAd();

      @override
      _MyBannerAdState createState() => _MyBannerAdState();
    }

    class _MyBannerAdState extends State<MyBannerAd> {
      late AdSize adSize;
      late AdMobRepository adRepository;
      late AnalyticsRepository analyticsRepository;
      bool adLoaded = false;
      BannerAd? anchoredBanner;

      @override
      void initState() {
        super.initState();
        adRepository = context.read<AdMobRepository>();
        analyticsRepository = context.read<AnalyticsRepository>();

        if (SizerUtil.deviceType != DeviceType.mobile && SizerUtil.orientation == Orientation.portrait) {
          adSize = AdSize.leaderboard;
        } else {
          adSize = AdSize.largeBanner;
        }

        final bannerAd = adRepository.getBannerAd(
          size: adSize,
          onFailedLoad: (ad, error) {
            print('banner ad failed to load: $error');
            ad.dispose();
          },
          onLoad: (ad) {
            setState(() {
              adLoaded = true;
              anchoredBanner = ad as BannerAd?;
            });
          },
          onAdImpression: (_) {
            analyticsRepository.sendBannerAdShownEvent();
          },
          onAdOpened: (_) {
            analyticsRepository.sendBannerAdClickEvent();
          },
        );

        bannerAd.load();
      }

      @override
      void dispose() {
        super.dispose();
        anchoredBanner?.dispose();
      }

      @override
      Widget build(BuildContext context) {
        return BlocBuilder<SubscriptionBloc, SubscriptionState>(
          builder: (context, state) {
            final isLoaded = !adLoaded;

            if (isLoaded || state.hasSubscribed || anchoredBanner == null) return SizedBox.shrink();

            return Container(
              color: Colors.transparent,
              width: anchoredBanner!.size.width.toDouble(),
              height: anchoredBanner!.size.height.toDouble(),
              child: Center(
                child: Container(
                  color: Colors.white,
                  child: AdWidget(
                    ad: anchoredBanner!,
                  ),
                ),
              ),
            );
          },
        );
      }
    }

But on IOS it is always showing test ads. How can this be when the app is built with flutter release mode with flutter build ios --release? The app is currently in review and I was thinking that these ads would stop being test ads whenever it is live on the app store.
But Apple sent us the following message

We noticed that your app or its screenshots include test
advertisements. Apps or metadata items that include features that are
for test or demonstration purposes are not appropriate for the App
Store.
Next Steps
To resolve this issue, please revise your app to complete, remove, or
fully configure any partially implemented features. Please ensure your
screenshots do not include any images of demo, test, or other
incomplete content

So how do I get rid of the test ads? Did I miss some XCode setting or?
I am using
flutter: 2.5.3
google_mobile_ads: ^0.13.4

And I also added the GADApplicationIdentifier to my info.plist
<key>GADApplicationIdentifier</key>
<string>{here I have the app Id}</string>

And I am testing on a real device with the testflight build
Side Note:
In admob setting I have added the following test IDFA
00000000-0000-0000-0000-000000000000
which seems to work for Test ads on all IOS devices.

Hi @michael-ottink, Thanks for filing the issue. Make sure you are using adUnitIds from your admob account and not the demo Ads, If that is not the case How long has it been since you created your ad unit Id?
Note that it could take several hours to show up real Ads
Can you also try updating to latest google_mobile_ads: 1.0.1

Hi, I am using this id

We have had those test ads for months now so real ads should be showing. We also have 30 daily active testers, so ads are shown regularly. On android everything works perfectly fine.
I will update to
google_mobile_ads: 1.0.1
But I do not think this is the cause of our problems, since we went trough multiple updates of the google mobile ads package already which did not change anything for us.

Updating the package does not seem to help

Thanks for the info, keeping this issue open for further investigation from the team.

I found that removing 00000000-0000-0000-0000-000000000000 from the admob test devices under settings seems to work. I now have production  ads in the release build. But now I no longer have test ads in the debug build. To me it seems that something is still wrong.
In order to get test ads I tried adding my device id in the testDeviceIds on the RequestConfiguration. But that does not seem to work. The only thing that works is setting 00000000-0000-0000-0000-000000000000 in the admob settings under test devices.

The reason for this is likely due to iOS emulators only returning 00000000-0000-0000-0000-000000000000, and iOS on real devices returning 00000000-0000-0000-0000-000000000000 unless the user consents to tracking.
So setting 00000000-0000-0000-0000-000000000000 as the testDeviceIds is actually the issue.
I found testing using the test ad IDs to be the solution instead.

For real ads to be showed in the ios devices google recommend using the tracking identifier that will allow the google to read  ads identifier you can check the google ios documentation
https://developers.google.com/admob/ios/ios14

We’re closing this issue due to inactivity. If you’re still impacted, please create a new issue via the Developer Forum.


turbo/pnpm/lerna does not understand workspace protocol

What version of Turborepo are you using?
1.0.25
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Describe the Bug
Error when running lerna command using pnpm in turborepo that uses workspace protocol. workspace:*
➜ turbo-test git:(master) ✗ pnpm lerna bootstrap
lerna notice cli v4.0.0
lerna info versioning independent
lerna ERR! Error: Unsupported URL Type "workspace:": workspace:*

Expected Behavior

tl;dr you can use Lerna and Turbo together.

From https://turborepo.org/docs/guides/migrate-from-lerna
I expected this to work, since the documentation says that the tools work together.
To Reproduce
Add lerna to a turborepo that uses pnpm.  Try to run a lerna command, like pnpm lerna bootstrap.

This is a lerna issue, not turbo/pnpm.

Perhaps, but the turborepo documentation clearly states that you can use the tools together.  If this is not the case, then it should likely be noted.

The issue is pnpm and lerna, turbo works with lerna.

Okay, thanks...


TransactionManagerException: Transaction is not current for this thread

Hi
I am trying load some data from a CSV file into a clean db instance. I did this by creating an ETL process using Apache Camel it reads the input CSV split the file into multiple lines and process each line in parallel using one transaction per line. I did this because did not wanted to use LOAD CSV cypher or Neo4j import tool while my model is still evolving since it is very handy to use OGM while prototyping. But now I found a wall at the middle of the process OGM generates this TransactionManagerException, it looks like it was some threading issue managing  transactions.
at com.cartrawler.service.CountryImportSpecification.Should be able to import country csv(CountryImportSpecification.groovy:9)
Caused by: org.neo4j.ogm.exception.TransactionManagerException: Transaction is not current for this thread
at org.neo4j.ogm.session.transaction.DefaultTransactionManager.rollback(DefaultTransactionManager.java:78)
at org.neo4j.ogm.transaction.AbstractTransaction.rollback(AbstractTransaction.java:65)
at org.neo4j.ogm.drivers.embedded.transaction.EmbeddedTransaction.rollback(EmbeddedTransaction.java:60)
at com.cartrawler.service.CountryCsvImporter.process(CountryCsvImporter.groovy:28)

@luistrigueiros do these share the same OGM session? The OGM session is not thread safe

Hi yes this my case I have a single OGM session for all the import where each line of the CSV was been processed on a new transaction take from a thread pool.

Is this still an issue @luistrigueiros ? I know we've been helping you solve this in the slack channel.

Hi @mangrish : Thank you. But I stopped working on sdn-ogm after this as and become considering other options to bypass sdn-ogm stack and use the driver support directly as this will allow me better control of the transactions. And I am even considering if should use neo4j at the moment.


Update Composer dependencies (2023-07-12-00-13)

Visual regression test passed!
View the visual regression test report


Beginning of snsmanager

Motivation
Start establishing hte sns-manager API, even though the sns-manager canister does not exist yet.
Changes

Define an API for iterating over registered SNS root canisters.

Tests
None, as yet.

We can close this PR as it was now implemented with the entity SnsWrapper and connected with effective did files.


--pack with caching

I want to use gcloud alpha builds submit --pack as suggested here, but it is very slow compared to building locally. Even using --machine-type=n1-highcpu-32 doesn't help a whole lot.
It looks like the issue is with caching. When running pack on my local machine, everything runs much faster since it uses cached images/layers/etc. Whereas Cloud Build redownloads everything each time.
The solution appears to be to configure caching as outlined here. Sadly, when using --pack, you can't use --config:
ERROR: (gcloud.alpha.builds.submit) argument --config: At most one of --config | --pack | --tag may be specified.
When using --pack, what can be done to improve build speeds via caching?

Any tips? This is a blocking issue for me right now.

Unfortunately, it's not currently possible to enable caching in Cloud Build when using the --pack flag. Builds with this flag invoke the pack CLI directly, which only supports local volume caching and volumes are not preserved across builds in Cloud Build.
To get around this limitation, you could create your own cloudbuild.yaml and invoke the build with --config path/to/cloudbuild.yaml in the app directory instead. The config below publishes the built application under gcr.io/<project>/my-app/app:latest and the cache image under gcr.io/<project>/my-app/cache:latest. On subsequent builds, layers are restored from the respective images.
The full command would be: gcloud builds submit --config cloudbuild.yaml .
steps:
- id: prep
  name: gcr.io/cloud-builders/gcloud
  entrypoint: "/bin/bash"
  args:
  - "-c"
  - >
    chown -R "1000:1000" "/workspace"
    && chmod "755" "/workspace"

- id: build
  name: gcr.io/buildpacks/builder:v1
  entrypoint: /cnb/lifecycle/creator
  args:
    - '-app=/workspace'
    - '-cache-image=gcr.io/$PROJECT_ID/my-app/cache'
    - '-previous-image=gcr.io/$PROJECT_ID/my-app/app'
    - 'gcr.io/$PROJECT_ID/my-app/app'

@lukasberger Thank you for the information!
Can you also clarify how I would pass in the GOOGLE_BUILDABLE environment variable?

Unfortunately, it's not currently possible to enable caching in Cloud Build when using the --pack flag.

I hope you will consider adding something to handle this. Building without cache is very painful.

Can you also clarify how I would pass in the GOOGLE_BUILDABLE environment variable?

Here's an updated cloudbuild.yaml:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: '/bin/bash'
  args:
  - '-c'
  - >
    mkdir -p "/platform/env"
    && echo -n "$$GOOGLE_BUILDABLE" > "/platform/env/GOOGLE_BUILDABLE"
    && chown -R "1000:1000" "/workspace"
    && chmod "755" "/workspace"

- name: gcr.io/buildpacks/builder:v1
  entrypoint: /cnb/lifecycle/creator
  args:
    - '-cache-image=gcr.io/$PROJECT_ID/my-app/cache'
    - 'gcr.io/$PROJECT_ID/my-app/app'

options:
  env:
  - 'GOOGLE_BUILDABLE=my-buildable'
  volumes:
  - name: 'platform'
    path: '/platform'

I hope you will consider adding something to handle this. Building without cache is very painful.

I will forward the request to the Cloud Build team, but caching support is likely blocked on buildpacks/pack#491.

@lukasberger Issue opened here.

A few years later, you can now cache parts of your build using the --cache-image flag. Its not as simple as using the --pack flag, you'll have to create a cloudbuild.yaml. I've gone ahead and documented this here https://cloud.google.com/docs/buildpacks/cache-images


Symlink releases docs to CHANGELOG.md

Since CHANGELOG.md is maintained by the release tool, this ensures that
the releases page is also kept up-to-date.

And if you want to know why a symlink and not an include: https://github.com/rtfd/recommonmark/issues/54#issuecomment-254098695


[Bug][Combobox]: Incorrect searchTerm initialization

Environment
Developement/Production OS: Windows 10 19043.1110
Node version: 16.0.0
Package manager<EMAIL_ADDRESS>Radix Vue version: 1.7.2
Vue version: latest
Client OS: Windows 10 19043.1110
Browser: Chrome latest

Link to minimal reproduction
https://codesandbox.io/p/devbox/radix-vue-combobox-forked-96qpn7
Steps to reproduce

You have a combobox working
You add const searchTerm = ref('banana') and you add it to v-model:searchTerm in the ComboboxRoot
When the ComboboxRoot is initialized, it will reset the searchTerm value

Describe the bug
ComboboxRoot will reset searchTerm during initialization(not sure if that's where it happens) meaning that the value that the developer provided as initial value will be thrown away.
I am not sure if this is on purpose or not. That's why I didn't create a PR first. I want to make sure it is actually a bug.
Expected behavior
ComboboxRoot should not reset the searchTerm when the user provides it
Context & Screenshots (if applicable)
No response

Current workaround:
// I know spaghetti code
const searchTerm = ref('')
watch(searchTerm, (newTerm, oldNewTerm) => {
  if (!!oldNewTerm && newTerm === '') {
    searchTerm.value = oldNewTerm
  }
}, { once: true })


[🐞] SSG/UseClientEffect$ crash

Which component is affected?
Qwik Runtime
Describe the bug
Having this component:
import { component$, useClientEffect$ } from<EMAIL_ADDRESS>
export default component$(() => {
  useClientEffect$(() => { console.log('foo') })
  return (<></>)
})

and trying to use it inside a markdown file like:
import MyComponent from '$components/MyComponent'

<MyComponent />

## Bla bla...

When you try to build SSG it crash. It works fine with npm run dev and npm run preview, but with npm run build.server it crash with this non-sense error:
QWIK ERROR Error: Code(31)
    at Array.map (<anonymous>) _hW

If you remove useClientEffect$ from the component it builds fine. :/
Reproduction
See below
Steps to reproduce
No response
System Info
<EMAIL_ADDRESS>"0.16.2",
<EMAIL_ADDRESS>"0.1.0-beta6",

Additional Information
No response

Reproducible with this commands:
mkdir qwiktest; cd qwiktest

# press enter all the time
npm create qwik@latest

cd qwik-app

npm install

# install static integration
npm run qwik add

rm -f src/routes/index.tsx

curl -s "https://gist.githubusercontent.com/felixsanz/0d17857c6baa8b6d17388b5e81c5a74f/raw/c6a9887615596d33c458999972a50694ad41d640/index.mdx" > src/routes/index.mdx

mdkir src/components/Example

curl -s "https://gist.githubusercontent.com/felixsanz/0d17857c6baa8b6d17388b5e81c5a74f/raw/c6a9887615596d33c458999972a50694ad41d640/index.tsx" > src/components/Example/index.tsx

mkdir dist

npm run build.server

Happens to me too:

Wow! I didn't get that Missing client manifest error that says Please ensure the client build has run... blab bla.
I didn't know there was a npm run build.client script and that I had to run it before.
Running it and then running build.server script fixes it!
It is normal that i have to run this script manually? Why i'm not getting this error message?
Also documentation doesn't say anything about this! https://qwik.builder.io/qwikcity/static-site-generation/static-site-config/#changes

Yes, the error appears here:

Wow! I didn't get that Missing client manifest error that says Please ensure the client build has run... blab bla.
I didn't know there was a npm run build.client script and that I had to run it before.
Running it and then running build.server script fixes it!
It is normal that i have to run this script manually? Why i'm not getting this error message?
Also documentation doesn't say anything about this! https://qwik.builder.io/qwikcity/static-site-generation/static-site-config/#changes
Here is my output:

See? No Missing client manifest error

So, the issue is that i've been running npm run build.server manually when I just had to run npm run build (which executes build.client and build.server.
This is not stated on documentation. In fact documentation only talks about the added build.server script, which is confusing.


Operator overloading for CamLOS1D

Would be nice to have an easy way of concatenating CamLOS1D
=> overload add

Fixed by PR #100


Added docker-compose.yml to run the app using docker-compose

What:
Added docker-compose.yml to run the app using docker-compose.

Codecov Report

Merging #412 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #412   +/-   ##
=======================================
  Coverage   58.77%   58.77%
=======================================
  Files          66       66
  Lines        1043     1043
  Branches       46       46
=======================================
  Hits          613      613
  Misses        424      424
  Partials        6        6

Continue to review full report at Codecov.

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

@kosmas58 thank you for your contribution, can you please provide more background / links ? I am not very well versed with the docker technology. Thank you!

@tomastrajan thanks for your reply.  To be honest, the benefits of docker-compose for Angular-Material-Starter are small. The main purpose of docker-compose is to orchestrate a series of containers (e.g. a web server with a database server) to generate and start them together.  I've added it because it's usually part of my toolset.
I've made the changes to the Dockerfile and .dockerignore because husky otherwise produces error messages under docker run and docker-compose.

@kosmas58 does this have an impact on people who would just want to run in with most basic docker setup? Do they have to have installed something more in their environment?
In general we want stuff to work for the most people possible without getting too specific in one direction and as said before don't really know docker that well so that's why I am asking ;)

@tomastrajan  Compose is part of the normal docker installation.

Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.

The only thing you need to use it, is a docker-compose.yml file, which I've added.

@tomastrajan  many thanks for merging it in.


fix ./x.py test miri

Ok, this one works now. I had to manually remove .cargo/bin from my path to reproduce the rustc failure, and then figure out a few shenanigans around how cargo forwards arguments.

uuh... what happened to our CI, something seems to be out of disk space

uuh... what happened to our CI, something seems to be out of disk space

Seems to work again? At least the linux builder.

:umbrella: The latest upstream changes (presumably #2409) made this pull request unmergeable. Please resolve the merge conflicts.


New Port: Pullywog

Added Pullywog  port to the Portmaster
New Port for Pullywog
Game Information

Title: Pullywog
URL: { Link to project page or source control page }

Submission Requirements
CFW Tests
Ensure your game has been tested on all major CFWs:

[X] AmberELEC
[X] ArkOS
[X] ROCKNIX
[X] muOS

Resolution Tests
Test all major resolutions:

[X] 480x320
[X] 640x480
[X] 720x720 (RGB30)
[X] Higher resolutions (e.g., 1280x720)

File Structure

Your port should have the following structure:

portname/

port.json
README.md
screenshot.jpg
cover.jpg
gameinfo.xml
Port Name.sh
portname/

Additional Resources
For an in-depth guide on creating a pull request, refer to: PortMaster Game Packaging Guide

If I select "Commit suggestion" button does reviewer see the commit or I still need to add the comment to it?

If I select "Commit suggestion" button does reviewer see the commit or I still need to add the comment to it?

All will be in the history of the PR


python312Packages.tencentcloud-sdk-python: 3.0.1131 -> 3.0.1132

Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/refs/tags/3.0.1131...3.0.1132
Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.0.1132/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 305487 run on x86_64-linux 1

4 packages built:

python311Packages.tencentcloud-sdk-python
python311Packages.tencentcloud-sdk-python.dist
python312Packages.tencentcloud-sdk-python
python312Packages.tencentcloud-sdk-python.dist


Integrating a linter

Hi,
I recently published my little project Solium - A command-line based linter for Solidity with hot loading.
@Arachnid suggested that I make it browser compatible and make a PR to integrate it with browser-solidity. I think its a great idea.
Would you be interested in it?
Please feel free to check out the project and let me know-
npm install -g solium

As mentioned on the channel, the rules should match http://solidity.readthedocs.io/en/latest/style-guide.html. Or at least the integrated version should have those exact rules preloaded and nothing else.

@axic Of course. I'm already working on it, will notify once its fully compliant

I was actually looking for a tool a while ago, which would be similar to JavasScript's standard or semistandard for Solidity. So no linting, just warning for mistakes.
Is that possible with your tool? I seems like it can lint only.
It would be very useful having these style errors shown as style warnings with file and line number.

I believe it doesn't strictly fit your description right now.
But I plan to make this linter flexible like eslint. So with a single shareable configuration file, you can disable the linting and turn it into a style checker. Something like shareable configs
This will be possible in the near future.


Split IBeekeepingLogic.update() into canWork() and doWork()

This is was discussed over IRC with @mezz
I've split the main update() method into 2 parts

canWork - checks for all error conditions
It also kills dying queens and outputs backlogged items because i don't see a way to cleanly split that away. It also somewhat makes sense to do those things if errors are present.
doWork - does all the actual work - breeding, production, etc.

This will allow Gendustry (and possibly other mods) that needs to use additional error states a cleaner way to interact with BeekeepingLogic and control when it does/doesn't update.
Flower checks are cached as suggested by @mezz
I've also deprecated deprecated update() and replaced it in places that used it - not sure if this is desireable, if no - i'll take that out.
This PR is for the API change, once it's merged i'll make another one with the main changes in ForestryMC - you can currently see it here

Increment the API version please

Looks good to me. If you think it's complete, let me know and I will test it and pull them both in at the same time.

Oh yeah, i wasn't sure if that qualified as backwards compatible and so should it be a minor or major version increase, that's why i didn't change it.
Besides the version i think this is finished. Did some limited testing with both forestry apiaries and gendustry and didn't see any issues.

It's a minor update, it is backwards compatible since it's implemented by Forestry only.
I'll pull this in soon. Deep in inventory stuff at the moment.
Thanks!

Updated the commit to bump the version, sorry for the delay.

No rush. I just finished the inventory fixes and will test and merge this next.

Merged, thanks bdew!


Fact clustering

Description
As a user, I would like the system to determine categories of facts based on precedent data.
Scope of Work

[ ] Preprocess data of decisions.
[ ] Extract all facts from all obtained precedents.
[ ] Cluster facts based on sentence similarity.
[ ] Add the cluster labels to the extracted JSON file.
[ ] Create a text file for each cluster of facts where the similar facts are saved, for manual review.

Story Points

8

Priority

[Low, Medium, High]

Risk

High

Acceptance Criteria

Given a fact, the system should return the cluster label for it.
Looking at the label's text file, the written facts should be similar to the input fact.

Documentation, files, diagrams, etc. relating to this feature:
Url, books, etc.
Changes:

[Optional]

For the moment, my test script in unsupervised-play is using GMM with the python library sk-learn
http://scikit-learn.org/stable/modules/mixture.html
General clustering url here:
http://scikit-learn.org/stable/modules/clustering.html
Here is what is done so far:

Parse facts from each Precedent (needs major improvement, it truncates some facts half-way)
Vectorize each fact using word2vec on each word, and then averaging the for all words in a sentence  (https://www.youtube.com/watch?v=ERibwqs9p38)
Use the sentence vectors to cluster each fact within clusters using GMM (http://scikit-learn.org/stable/modules/mixture.html)
Output all the sentences into files.

What needs to be improved:

Regex to extract facts must not truncate half a fact
At the moment facts AND outcomes are regexed out, we should limit to JUST facts so that we can cluster them ONLY.
Experiment with different clustering algorithms to see which is the better one for our use case. http://scikit-learn.org/stable/modules/clustering.html
Save the clustering algorithm to a pickle file so that we don't have to retrain the model every time we start the system (https://docs.python.org/2/library/pickle.html)
Add labels to precedent JSON files

Pipeline
Group ambiguous terms in named entities.
Date:
"November"
"12 November 2017"
"The first of April"
"In 2 weeks"
Time:
"15h01"
"Evening"
Time frequency:
"at the beginning of each month"
"Paid weekly"
Money:
"500$"
"five hundred dollars"

Creating a corpus
Technology: http://brat.nlplab.org/
French datasets are more sparse then English ones. This tool allows the user to quickly annotate text in order to give it meaning in a machine readable format. Namely, this application can be applied to precisely the dataset that we are using for this project which will increase the confidence .

For the preprocessing phase, it should be enough to replace the matching terms in the string with "temps", "temps récurrent", "argent" and "date"

I've changed to using DBSCAN as our initial clustering implementation, as it has a better clustering output. However, there are multiple facts clusters that are not dense enough to have their own category. We must come up with a solution to this.

My preprocessing is catching
Money,
time frequency,
time,
date,
relative time
with no errors so far.
example:
12 novembre 2017 --> date date date --> date
If a noun phrase has many words describing the same named entity then I reduce it to only 1 word so that I do not give this one meaning too much weight

example output (copy pasted)
['moment', 'dépôt', 'demande', 'date']
au moment du dépôt de sa demande le 17 juin 2015
['allègue', 'retard', 'paiement', 'somme', 'argent']
allègue un retard de paiement pour une somme de 2 301 $

I'm missing corpus annotation concerning the 'Time' named entity. I will work on that by the end of the week/weekend. Shouldn't take more than 1-2 hours.

I'm using solution 2 on here: https://stackoverflow.com/questions/29760935/how-to-get-vector-for-a-sentence-from-the-word2vec-of-tokens-in-sentence

My model is working now. It requires more annotation for all the entities to be properly recognized. Should be achievable with 1-2 more hour of work.
As Arek mentioned, he thinks
12 novembre 2017 --> date date date
as opposed to
12 novembre 2017 --> date date date --> date
So I will include both so we can play with it.
The code:
1- Seperates facts from decisions
2- maps named entities
3- stores original sentence and ner_sentence
4- *will allow for configurability in terms of grouping ner together as mentioned above

Looking at either:

HDBSCAN
Affinity Propagation

I think affinity propagation is already similar to k-means.
So I will go with HDBSCAN since it seems a little better than DBSCAN

Format out metrics so far.
Number_of_clusters: 6	Number_of_files used: 10	Noise: 7
Number_of_clusters: 26	Number_of_files used: 100	Noise: 33
Number_of_clusters: 84	Number_of_files used: 500	Noise: 132
Number_of_clusters: 144	Number_of_files used: 1000	Noise: 268
Number_of_clusters: 269	Number_of_files used: 2000	Noise: 434
Number_of_clusters: 465	Number_of_files used: 4000	Noise: 800
Number_of_clusters: 794	Number_of_files used: 8000	Noise: 1381

Added Comma Separator
Number_of_clusters: 8	Number_of_files used: 10	Noise: 12
Number_of_clusters: 35	Number_of_files used: 100	Noise: 44
Number_of_clusters: 111	Number_of_files used: 500	Noise: 140
Number_of_clusters: 184	Number_of_files used: 1000	Noise: 268
Number_of_clusters: 306	Number_of_files used: 2000	Noise: 449
Number_of_clusters: 530	Number_of_files used: 4000	Noise: 781
Number_of_clusters: 863	Number_of_files used: 8000	Noise: 1313
Number_of_clusters: 1459	Number_of_files used: 16000	Noise: 2308
Number_of_clusters: 2494	Number_of_files used: 32000	Noise: 3889

using all facts
Number_of_clusters: 31	Number_of_files used: 10	Noise: 54
Number_of_clusters: 279	Number_of_files used: 100	Noise: 665
Number_of_clusters: 1048	Number_of_files used: 500	Noise: 3353
Number_of_clusters: 1977	Number_of_files used: 1000	Noise: 6190
Number_of_clusters: 3826	Number_of_files used: 2000	Noise: 12453
Number_of_clusters: 6869	Number_of_files used: 4000	Noise: 22380
Conclusoin

Noise and clusters are still linear.
Noise greatly increased in comparison to clusters.
Quick glance at clusters reveals alot of irrelevant information
just read first 1-2 lines of every precedence. they sumarize the case well

What
Evaluated the appropriateness of different word2vec pre-trained models
Word2Vec model evaluation
Number of missing words | Vector Model Name
22049 | frWac_no_postag_no_phrase_500_cbow_cut100 (Stemmed words)
16923 | frWac_no_postag_no_phrase_500_cbow_cut100 (Non stemmed words)
22049 | frWac_no_postag_no_phrase_500_skip_cut100 (Stemmed words)
16923 | frWac_no_postag_no_phrase_500_skip_cut100 (Non stemmed words)
19542 | frWac_no_postag_no_phrase_700_skip_cut50 (Stemmed words)
14933 | frWac_no_postag_no_phrase_700_skip_cut50 (Non stemmed words)
28455 | frWiki_no_lem_no_postag_no_phrase_1000_cbow_cut100 (Stemmed words)
15129 | frWiki_no_lem_no_postag_no_phrase_1000_cbow_cut100 (Non stemmed words)
28455 | frWiki_no_lem_no_postag_no_phrase_1000_skip_cut100 (Stemmed words)
15129 | frWiki_no_lem_no_postag_no_phrase_1000_skip_cut100 (Non stemmed words)
30010 | frWiki_no_phrase_no_postag_1000_skip_cut100 (Stemmed words)
23630 | frWiki_no_phrase_no_postag_1000_skip_cut100 (Non stemmed words)
30010 | frWiki_no_phrase_no_postag_700_cbow_cut100 (Stemmed words)
23630 | frWiki_no_phrase_no_postag_700_cbow_cut100 (Non stemmed words)
21708 | frWac_non_lem_no_postag_no_phrase_500_skip_cut100 (Stemmed words)
9066 | frWac_non_lem_no_postag_no_phrase_500_skip_cut100 (Non stemmed words)
Conclusion
The most appropriate Vector model for our dataset is: frWac_non_lem_no_postag_no_phrase_500_skip_cut100, found here (http://embeddings.org/frWac_non_lem_no_postag_no_phrase_500_skip_cut100.bin)

Cluster Size Increase

Cluster size = 10

Number_of_clusters: 0	Number_of_files used: 10	Noise: 49
Number_of_clusters: 9	Number_of_files used: 100	Noise: 140
Number_of_clusters: 35	Number_of_files used: 500	Noise: 380
Number_of_clusters: 54	Number_of_files used: 1000	Noise: 684
Number_of_clusters: 82	Number_of_files used: 2000	Noise: 1170
Number_of_clusters: 122	Number_of_files used: 4000	Noise: 1948
Number_of_clusters: 197	Number_of_files used: 8000	Noise: 3215
Number_of_clusters: 325	Number_of_files used: 16000	Noise: 5518

Representation of phrase vectors

we notice many outliers.
Preprocessing must make an effort to group up more similar terms

Problem Approach

TF-IDF with K-means++ clustering algorithm
Tagged dates, money, months, time, landlord (Locateur, locatrice)
n-grams size: 1 to 3
min_df=0.01
max_df=0.9

Results For 5000 precedents

Feature size: 6754
Cluster size: 500 (size was determined from trial an error and using the elbow method)

Conclusion
The bad:
Cluster size needs to be played around with in order to get better result- this is time-consuming, Elbow method isn't super useful
The good:
Majority of the cluster are good. Obviously, there's noise as well.
 Pinging @naregeff to leave a comment

Signing off, it work!


"Suraj Tade" github link opens on anantya page

location:- Team section
This should be due to the wrong link.

The full address of profile page should be copied.

Thank you for your contribution


App devs can build and load PE enclaves on Windows

While the ability to run an ELF enclave on Windows provides basic cross-platform support, there is a strong preference for Windows developers not to have to leave the Windows ecosystem to develop enclave applications.
A fundamental step towards supporting that is to enable loading of Portable Executable (PE) format binaries as generated by Windows native tools (i.e. MSVC, link):

[x] Support loading PE binaries as enclaves in OE loader (#811)
[x] Support embedding SGX signatures in PE binaries (#811)
[ ] #749 C99/11 standard is used for MSVC on Windows
[ ] #1036 Support signing PE binaries in oesign
[ ] #1035 Add separate build configuration for Windows to build and test PE enclaves
[ ] #1038 Add support for 3rd party libraries in Windows PE enclaves
[ ] #1115 Enable QSpecter flags when compiling with MSVC

This is closely tied to additional stories:

#1037 App Devs have debugger support for PE enclaves on Windows

A difficult and critical item missing from the list is porting the compiler runtime of MSVC.

Closing out issues related to Windows PE enclave support until we find a use case.


Django 1.9 compatibility

Seems does not works on Django 1.9.

Had a few issues myself, ended up making it work this way:

pip install django-liststyle==0.2b
be careful of the order in INSTALLED_APPS, liststyle must be before django.contrib.admin

Cheers.
Fabrice

Thanks @inoks @fabriceb


Walking through walls #48

@erinnachen Ready
Add function to filter out only vertical walls
Add collision detection for right and left edges of contact, instead of mid-point
Use above collision detection to prevent dino from going through vertical walls
Move canvas creation to index so it can be passed into game for purposes of testing
Canvas in dinosaur test changed to real canvas element instead of object, since .getContext is called on it when a game is created, and that can only be called on a real canvas element
closes #48

Cool. I'm going to merge and try to refactor this. I think dino probably shouldn't require game... but I'll work on it.


Problems in Macros should show the original source line

Describe the bug
When a diagnostic is issued in a macro expansion, VSCode's 'problem' window will link to the swift-generated-source/expanded macro source file and not the source file where the problem happens.
To Reproduce
Steps to reproduce the behavior:

Create a new SPM library target
In the test file use the #expect macro to try a non-throwing function
A warning (No calls to throwing functions occur within 'try' expression) will occur and clicking it will take you to the expanded macro source

Expected behavior
When clicking the warning, I'd expect to be taken to the original-source-range where the issue occurred.
Environment

OS: macOS Sequoia 15.1.1
Swift version: swift-driver version: 1.115 Apple Swift version 6.0 (swiftlang-<IP_ADDRESS>.10 clang-16<IP_ADDRESS>) Target: arm64-apple-macosx15.0
Visual Studio Code version: Version: 1.95.3 (Universal)
vscode-swift version: v1.11.3

Additional context
import Testing
@testable import Test

func test() -> Bool {
	return true
}

@Test func example() async throws {
    // Write your test here and use APIs like `#expect(...)` to check expected conditions.
		#expect(try await test())
}
``` is a test case

@NinjaLikesCheez thanks for the report! I think #1234 should address this issue. It will be shipped in the next release of the extension.

verified with c047d4e

@NinjaLikesCheez thanks for the report! I think #1234 should address this issue. It will be shipped in the next release of the extension.

You're amazing - thank you!


Add log-friendly output alternative to checker and build checker for docker

This change adds an alternative output mode to the checker that is log friendly. To activate it use the --disable-bar argument.
Additionally it adds the checker binary to the docker image, and adds instructions how to use it for docker and K8s.
Got bigger than I expected, should I split it?

Noice! Danke!


⚠ Bofrost.be has degraded performance

In 7ae8d77, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1252 ms

Resolved: Bofrost.be performance has improved in f57af64.


Luckperms permission randomly resetting/reverting

Description
We've noticed change in behaviour in the permission system, as it has a chance of reverting a certain permission (think prison, rank a to b). If a person is b, they sometimes reset to a with no clear cause. We recently upgraded from luckperms (forgot which version, oops) to the latest version. And upgraded java 8 to 21.
Reproduction Steps
Honestly not clear, it's been at random intervals with no logging that accompanies the reverting
Expected Behaviour
Not reverting the permissions
Server Details
Paper version git-Paper-5a41839b7 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
LuckPerms Version
v5.4.137
Logs and Configs
No response
Extra Details
No response

with no specific details given, there is no way to reproduce the issue, and thus nothing can be done about this. you would need to provide logs or something to give some insight as to what is happening, or provide a method to reproduce the issue

Understood, I do not expect this to be fixed. But I opened the issue in an attempt to see if more people are experiencing the same issue. Will update if we manage to find more information

We had a custom piece of code adding permissions. Disabling this piece of code fixed the disapearing.
lpPlgn.getUserManager().modifyUser(uuid, user -> {             // Add the permission             user.data().add(Node.builder(permission).build());         });


selection is short when completing path

Version: 1.51.1 (user setup)
Commit: e5a624b788d92b8d34d1392e4c4d9789406efe8f
Date: 2020-11-10T23:34:32.027Z
Electron: 9.3.3
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

Pylance v2020.11.1

When I try to type a path of a file, I can only see two rows:

This is what it usually looks like:

The DS team doesn't do anything special with autocomplete when it's used a python file, regardless of whether there are cells defined with %% or not.

This keeps getting transferred, we have no control over the UI, and we don't provide the path completions. This isn't Pylance. These path completions must be coming from Jupter, and that's not in our hands.

Ok, so if it's not PyLance and it's not Jupyter (we do not register a completion provider for this scenario), then must be the core extension?

This is the UI, so either it's VS Code itself (maybe this is the new resizable tooltips and @StevenLi-DS can see if it can be expanded), or it's the "old notebook" UI where the tooltips are reimplemented.

@jakebailey @greazer this issue only emerged after I installed and switched to Pylance. If I disable pylance, the problem will be gone.

I see, so that's not even in a notebook, but a regular document. I don't know how Pylance could be affecting this, we can't touch the UI in any way. Is it simply enabling Pylance, or having the Pylance extension installed?

@jakebailey Indeed, I don't really use the notebook UI at all. It happens simply in a .py file. As showed in the screenshot, if I have to enable pylance so that the problem will emerge. Btw, you can't repro this on your end?

I'm not, no. If I reenable snippets (which I have disabled normally because I dislike them):

Is your window not resizable? You should be able to grab the bottom of the window and expand it.

@jakebailey XD... I just expand it and I never realized you can resize it. Thanks man! Feel free to close this...lol..

Yes, that's new in VS Code 1.51. 🙂


URI-friendly links

For ob:// URIs to be web friendly, we need to restrict the encoding character set. At the moment a vendor can create listings that are unaccessible from the web via a ob:// link.

To give more flavour to this, I want to be in a position where I can take an OB2.0 link and replace ob:// by duosear.ch/ and things would still work. This is only possible i fob:// links are web friendly.

Yeah I think this is reasonable. It certainly cuts down on workload for web-based crawlers/search engines/apps and anyone who wants to share ob:// links elsewhere. I thought we had this discussion several months ago, but I can't seem to recall the details... hopefully @jjeffryes and @rmisio remember.

What's the action item for this repo? Afaik the only field in the URI that comes from the server is the slug which already restricts the encoding.

Another one would be handle, which I think we should restrict as well although that is dependent on the restrictions (or lack thereof) of the handle provider we are / will be using.
Right now we don't have categories or tags in the url. If we do, we'd probably need to encode those since we allow foreign characters in those. It might make for some aesthetically ugly urls. We could consider what I believe chrome does where in the address bar it will show extended characters as they are intended to appear, but if you click and copy the link they revert back to their (jibberishy) encoding. (I need to test that, I'm pretty sure that's how it works. I know for sure I've seen a url with Korean characters and the actual Korean characters displayed in the url.)

FWIW, other than enforcing some TBD restrictions on the handle, I don't think there's an action item on the server here.

What's the action item for this repo?

The validateListing function does not check that the slug is web-friendly:
	// Slug
	if listing.Slug == "" {
		return errors.New("Slug must not be empty")
	}
	if len(listing.Slug) > SentenceMaxCharacters {
		return fmt.Errorf("Slug is longer than the max of %d", SentenceMaxCharacters)
	}
	if strings.Contains(listing.Slug, " ") {
		return errors.New("Slugs cannot contain spaces")
	}
	if strings.Contains(listing.Slug, "/") {
		return errors.New("Slugs cannot contain file separators")
	}

It doesn't let people save listings like that.

What? The reference client doesn't let people save listings for most of the checks in validateListing. The checks still need to be made.


Drawer button doesn't look right if the page is too narrow

That is how it's intended to look

I see. Thank you


Change the following data fields to Object fields (like Authors)

The following fields should work like Authors or "Title page company filter" do -- as objects that can be added or deleted, with the little + sign for adding an entirely new object:
Title Page: Author Filter
Genre: Playbook Attribution
Paratext: Author
Stationer: Colophon
Stationer: Imprint Location
Stationer bookseller
Theater
Author Status
Play Type: Filter
Filter Genre (Annals)
Filter Genre (BritDrama)

Perhaps this will solve #160

If this is a big transformation and not strictly necessary, maybe we don't need to do it. The advantage is:
when we add a term to one of these fields, if it works as an object, it lets us know immediately if the term already exists in another record, and whether we have inadvertently changed the spelling slightly, and so on.
It sounds like from last time we discussed this that it isn't 100% necessary, but if it is easy to do, it would probably make future editing of the data easier for us.


Make Error: libpoco

versions:

ClickHouse-1.1.54292-stable
ClickHouse-1.1.54304-testing

os: MacOS 10.13.1 (17B48)
install: with homebrew
==> cmake .. -DUSE_STATIC_LIBRARIES=0
==> make
Last 15 lines from /Users/efureev/Library/Logs/Homebrew/clickhouse/02.make:
/usr/include/sys/syslog.h:227:124: error: expected initializer before '__asm'
 void syslog(int, const char *, ...) __printflike(2, 3) __not_tail_called __DARWIN_ALIAS_STARTING(__MAC_10_13, __IPHONE_NA, __DARWIN_EXTSN(syslog));
                                                                                ^
/tmp/clickhouse-20171110-30223-1s46290/ClickHouse-1.1.54292-stable/contrib/libpoco/Foundation/src/SyslogChannel.cpp: In member function 'virtual void Poco::SyslogChannel::log(const Poco::Message&)':
/tmp/clickhouse-20171110-30223-1s46290/ClickHouse-1.1.54292-stable/contrib/libpoco/Foundation/src/SyslogChannel.cpp:74:50: error: 'syslog' was not declared in this scope
  syslog(getPrio(msg), "%s", msg.getText().c_str());
                                                  ^
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-for-loop-analysis'
cc1plus: warning: unrecognized command line option '-Wno-unused-local-typedef'
cc1plus: warning: unrecognized command line option '-Wno-unused-private-field'
make[2]: *** [contrib/libpoco/Foundation/CMakeFiles/PocoFoundation.dir/src/SyslogChannel.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [contrib/libpoco/Foundation/CMakeFiles/PocoFoundation.dir/all] Error 2
make: *** [all] Error 2

Can you try 1.1.54310 ?
lib poco was updated.

1.1.54310:
[  8%] Building C object contrib/librdkafka/src/CMakeFiles/rdkafka.dir/crc32c.c.o
[  8%] Building C object contrib/librdkafka/src/CMakeFiles/rdkafka.dir/rdaddr.c.o
[  8%] Building CXX object contrib/libtcmalloc/CMakeFiles/tcmalloc_minimal_internal.dir/src/base/atomicops-internals-x86.cc.o
[  8%] Building C object contrib/librdkafka/src/CMakeFiles/rdkafka.dir/rdavl.c.o
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:587:0,
                 from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslog.h:65,
                 from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/syslog.h:23,
                 from /tmp/clickhouse-20171118-61822-opdgav/contrib/librdkafka/src/rdkafka_int.h:34,
                 from /tmp/clickhouse-20171118-61822-opdgav/contrib/librdkafka/src/rdavl.c:29:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslog.h:227:124: error: expected ',' or ';' before '__asm'
 void syslog(int, const char *, ...) __printflike(2, 3) __not_tail_called __DARWIN_ALIAS_STARTING(__MAC_10_13, __IPHONE_NA, __DARWIN_EXTSN(syslog));
                                                                                ^
make[2]: *** [contrib/librdkafka/src/CMakeFiles/rdkafka.dir/rdavl.c.o] Error 1
make[1]: *** [contrib/librdkafka/src/CMakeFiles/rdkafka.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

This is not a libpoco or ClickHouse bug, it's a bug with gcc-7 on High Sierra, see https://github.com/open-mpi/ompi/issues/4373 and<EMAIL_ADDRESS>

@vavrusa did you found any workaround for this ?

I found myself one here: https://discussions.apple.com/thread/8127677
cmake .. -DCMAKE_CXX_COMPILER=`which g++-7` -DCMAKE_C_COMPILER=`which gcc-7` -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12

I think I built it with clang as a workaround, better if you can build it with gcc-7

Yes the above line make the trick !


Make implicit return explicit

Consider these two programs:
def foo
  1
end

def foo
  return 1
end

The first AST will not have a ReturnNode and the second one will.
The compiler needs to add a leave instruction on ReturnNodes in case they're an early return. But due to the first case, the compiler also adds a leave instruction at the end of the method body.
That means that in the second case, as the compiler currently works, we get an extra leave instruction. The most obvious solution for the compiler is to check if there's a ReturnNode embedded within the final node of the body (could be within an IfNode for example). But this seems a little counterintuitive to me.
I think a better approach would be for YARP to wrap the final instruction in a method in a ReturnNode so that the trees for the two equivalent methods above match.

Optimization is the job of the compiler. Its job is to represent concrete syntax lossless to for tool consumption. And whats considered redundant by one tool (compiler) is not redundant to other tools (linters) and vice versa. Its the nature of a good AST that it can be used for many use cases not just "unidirectional" for compiler usages.
As the author of tools that are very sensitive to these kinds of differences: Please fix the compiler to do its job even if it appears to be counter intuitive. Parsers should not pre-evaluate the language in any way.

I agree the AST should represent the code that was written. Otherwise it would be impossible to write a code formatter with YARP as the parser.

I think this would be difficult in situations like:
def foo
  if bar
    return baz
  else
    qux
  end
end

In general if we were to put a return on the last statement, then it would probably be around the entire if statement here, which would be difficult since one of the clauses has an explicit return and the other doesn't. If we were to instead attempt to insert it into every clause, we would have to rewalk the tree and effectively implement our own compiler.

Thanks for the enthusiasm around YARP @mbj. What I'm suggesting here is lossless.
We have existing patterns in YARP for using the same node type for cases of syntactic sugar (IfNode for example). The lack of an explicit return on the final statement of a method is syntactic sugar for actually having an explicit return. Concretely, there is no difference programmatically in whether the node returns a value or not. And I can think of plenty of tools that would benefit from knowing exactly which nodes returned values (some type checkers, for example), that aren't just the compiler. Although in cases like the IfNode the pure sublocations are enough, we could also add a flag to signify if it's explicit or implicit, or so something like make an entire new node type ImplicitReturn.
I'm not sure I follow your example of 1+1 exactly, because it's not necessarily 2 in Ruby. But what I think you're getting at is that (beyond no guarantee of correctness) you would lose information by making it 2. I'm not suggesting any loss of information, just suggesting that syntactic sugar for a return get presented as such.

In general if we were to put a return on the last statement, then it would probably be around the entire if statement here, which would be difficult since one of the clauses has an explicit return and the other doesn't. If we were to instead attempt to insert it into every clause, we would have to rewalk the tree and effectively implement our own compiler.

@kddnewton this point is compelling to me. The only slight pushback I'd have is to wrap it all in an ImplicitReturn, but I think that wrapper wouldn't be worth the memory overhead. Going to close the issue, I'll investigate using popped to solve this instead.


Undecryptable packets in upload test

Seeing this only on linux with all versions when using Chrome beta.

See https://groups.google.com/a/chromium.org/forum/#!topic/proto-quic/CAvPTG6yVHA.

Log: https://dl.dropboxusercontent.com/u/1428776/log_304.txt

I think the fix here will consist of two parts:

Increase MaxSessionUnprocessedPackets to 2k.
Silently ignore undecryptable packets once the handshake is complete.

We have made the easy fixes, but still see the problem in an arcane setup in a Linux VM. Closing this for now, at least until we find a way to reproduce it in a simpler setup. It should be fixed anyway if Chrome decides to make the change discussed on the list.


Bump perfdash to 2.24

To release https://github.com/kubernetes/perf-tests/pull/1287
Ref https://github.com/kubernetes/perf-tests/issues/1285

/lgtm
/approve


Diskpressure Issue

Hi.. I am getting Diskpressure issue even if I m using only master node and trying to create deployment with adhoc cmd.
so no pod can be ready and running.
I tried with nginx/httpd like small images as well!
is there any issue with configuration or I am missing something.
any help/suggestion would be appreciated... Thanks!

Host where DinD is being launched is out of storage. Due to multiple users creating resources at the same time, 64GB storage on the host is not being sufficient. Please increase to at least 200GB. Would highly appreciate if you increase the storage.


Spin, Golang and Redis not working when using channels

Hello Team. I just tried to run the golang example with Redis to publish a message in a channel and it's not working for me (I can't see the received message). I don't know if I'm doing something wrong but you can see my code below:
main.go
package main

import (
	"fmt"

	"github.com/fermyon/spin/sdk/go/redis"
)

func init() {
	// redis.Handle() must be called in the init() function.
	redis.Handle(func(payload []byte) error {
		fmt.Println("Payload::::")
		fmt.Println(string(payload))
		return nil
	})
}

func main() {}

spin.toml
spin_version = "1"
name = "orcha-setup-test"
trigger = { type = "redis", address = "redis://default:redispw@localhost:55000" }
version = "0.0.1"

[[ component ]]
id = "orcha-setup-test"
source = "orcha-setup-test.wasm"
[ component.trigger ]
channel = "orcha"
[component.build]
command = "tinygo build -wasm-abi=generic -target=wasi -gc=leaking -no-debug -o orcha-setup-test.wasm main.go"

I'm running RUST_LOG=spin=trace spin build --up to build, run, get the logs and the results are:
Executing the build command for component orcha-setup-test: tinygo build -wasm-abi=generic -target=wasi -gc=leaking -no-debug -o orcha-setup-test.wasm main.go
Successfully ran the build command for the Spin components.
2023-01-05T04:32:45.368064Z TRACE spin_cli::commands::up: Running trigger executor: "/usr/local/bin/spin" "trigger" "redis"
2023-01-05T04:32:45.377694Z  INFO spin_redis_engine: Connecting to Redis server at redis://default:redispw@localhost:55000
2023-01-05T04:32:45.381650Z  INFO spin_redis_engine: Subscribing component "orcha-setup-test" to channel "orcha"
2023-01-05T04:33:42.135808Z  INFO spin_redis_engine: Received message on channel "orcha"
2023-01-05T04:33:42.135842Z TRACE spin_redis_engine: Executing Redis component "orcha-setup-test"
2023-01-05T04:33:42.135887Z TRACE spin_redis_engine::spin: Executing request using the Spin executor for component orcha-setup-test
2023-01-05T04:33:42.137165Z TRACE spin_redis_engine::spin: Request finished with error Error::Success

Spin version: 0.7.1
Redis version: 7.0.7
Tinygo version: 0.25.0

By default, Println output is only sent to the log file.  To view it in the terminal, provide the --follow-all option (spin up --follow-all).
We are considering changing this behaviour because you're not the first person to be bitten by it!  See #928

Closing this issue since we haven't had activity here and we've changed the default behavior of output (no longer need --follow-all to see println output). @wallacepf - feel free to re-open the issue if you are still having trouble! thanks.


Update markbates/goth libary to fix OAuth2 support

Temporary use fork github.com/go-gitea/goth while upstream is not fixed. Fixes #3652 and #3644

Codecov Report

Merging #3661 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #3661   +/-   ##
======================================
  Coverage    35.9%   35.9%
======================================
  Files         286     286
  Lines       41312   41312
======================================
  Hits        14832   14832
+ Misses      24299   24298    -1
- Partials     2181    2182    +1

Impacted Files
Coverage Δ

models/repo_indexer.go
48.3% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


email not confirmed

I followed the steps:
Login to Netlify, find the site you deployed with Netlify, and add yourself as an editor under the Identity section by clicking Invite Users and entering your email address
Head over to YOUR_SITE.com/admin/ to view your content management panel and begin publishing content.
Afterwards I tried to login and it said: mail not confirmed, although I did so. I also didn't have the possibility to create a password.

For Netlify related issues, consider reaching out to Netlify or on the Netlify forum.


How do I close my connection?

I'm writing some integration tests and facing an issue where my tests hang due to an open database connection.
I've tried running db.close() but it seems to stall there; e.g.:
  console.log('closing');
  await db.close()
  console.log('closed');

^ that logs "closing" but never logs "closed"
Any idea what might be going on / how I can reliably close the connection pool?

Solved (sorry for the trouble)
In case someone else faces this issue and comes here, my problem was that I had called db.getClient() in my test and failed to call client.release().  The pool can't .close() if there are open clients.


MM-20180 Fix search in channel members modal

Summary
Loading screen was shown on each search and that messed up the input. Fixed by displaying loading screen only on startup.
Ticket Link
https://mattermost.atlassian.net/browse/MM-20180

/update-branch


Disk usage

Tracking issue for heim::disk::usage for MacOS

Should work already, since uses statvfs same as all unix implementations, but it is not tested yet.


Rename main branch

To follow latest inclusive language best practices in the OSS ecosystem, we should rename the "master" branch to "main"
More info:

https://github.com/github/renaming
https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/

Folks may need to rename their local branch (git branch -m master main), and may need to --set-upstream-to (git branch --set-upstream-to upstream/main, or something like that)


Unbaking Japanese

>>> import ftfy
>>> s = "Ä×èÈÄÄî▒è¤ô_üiâAâjâüâpâXüj_10òb.png"
>>> ftfy.ftfy(s)
'Ä×èÈÄÄî▒è¤ô_üiâAâjâüâpâXüj_10òb.png'
>>> s.encode('cp850').decode('shift-jis')
'時間試験観点（アニメパス）_10秒.png'

Possible?   Thanks

Neither Shift-JIS nor codepage 850 are encodings that ftfy currently tries.
I can see the reason to want to support Shift-JIS; it's pretty much the reason for the word "mojibake", after all. It's something I want to support but I haven't found a good heuristic for distinguishing it from EUC-JP. It even coincidentally sometimes looks like UTF-8.

This is something I want to make another attempt at. I think that understanding the nuances of Shift-JIS mojibake is going to require talking to someone who spends a lot of time on the Japanese-language Internet though

Good luck. I am not that person. I nominate @bobince.


Incorrect status reported when reset is interrupted

If I interrupt device reset after it reboots, during the reset phase ('configuring...'), the device will not be reset, but the Intune portal will report that the reset was successfull: "AutoPilot Reset (preview): Completed"

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

ID: 69506375-4eb8-1d54-e406-dfd5a1376d0e
Version Independent ID: bf30cefa-d9ae-d490-9746-c652412b5e6c
Content: Windows Autopilot Reset
Content Source: windows/deployment/windows-autopilot/windows-autopilot-reset.md
Product: w10
GitHub Login: @greg-lindsay
Microsoft Alias: greg-lindsay

@officedocsbot assign @mypil

@jflieben - Thank you for submitting feedback.
I think the best way forward is if you can open a service ticket so this can get resolved ASAP. Based on outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for Windows 10 products:  https://support.microsoft.com/en-us/hub/4338813/windows-help?os=windows-10
If you don't mind please keep us posted here on the resolution and I really want to get this information you are discovering back into the docs.

@officedocsbot close


How to crop gt_bbox features from FPN features

Hi, I would like to learn how to crop gt_bbox features from FPN features?
For example, given pretrained faster_rcnn model and a VOC image as input, I want to obtain the corrsepoonding gt_bbox features from FPN features.

You should use RoIAlign or other RoI feature extract operations. These modules are in https://github.com/open-mmlab/mmdetection/tree/df28da98926bc410e16bed1e9fc7d425d9a89495/mmdet/models/roi_heads/roi_extractors

Thanks for your response! @RangiLyu
I would like to extract gt_bbox features of VOC dataset using COCO pretrained model, could you give me some advice on how to implement?
BTW, I am using the latest mmdet

use load_from in the config to load the coco pretrained model


'migrations' table was not updated

After I ran php artisan migrate:generate
After running the command `php artisan migrate:generate`` the process created files for me but did not update the 'migrations' table in DB.

That is true. It does not update the migrations table and so on next migration it will complain tables already exist as it seemingly never ran those migrations before.
In our case we replaced old migrations as after many new ones they did not work for new setups anymore. But now we can only run single migration files.
Genera migrations hang on table already exist and we do not want to overwrite, but we just want to skip. Not sure if there are solutions for that though.


Add style for native html select dropdown

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implicitly activated qubits

Expand the list of user-supplied active qubits (activated by assigning a bias) to include all qubits referred from a list of couplings.

Closed by #168.


New Integrated Terminal is created after reloading window

Issue Type: Bug
After opening VS Code:

Open a terminal (with profile);
Execute Reload window;
Notice if a new terminal has been created after reloading window.

Note: All my extensions were disabled.
VS Code version: Code 1.60.1 (83bd43bc519d15e50c4272c6cf5c1479df196a4d, 2021-09-10T17:06:57.931Z)
OS version: Linux x64 5.4.0-84-generic
Restricted Mode: No

/duplicate #133128


added github entity provider

Description
Please explain the changes you made here.
Which issue(s) does this PR fix

Fixes #114

PR acceptance criteria
Put an x in the boxes that apply

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary

How to test changes / Special notes to the reviewer

Looks good. Just need to fix the build

can we merge this now? @christophe-f @riginoommen


Remove digest, as it changes depending on the registry

Signed-off-by: Matias Charriere<EMAIL_ADDRESS>
Tests on workload clusters (not always required)
For changes in the chart, chart templates, and ingress controller container images, I executed the following tests
to verify them working in live enviromnents:

Test / Provider
AWS
Azure
KVM

Upgrade from previous version

Existing Ingress resources are reconciled correctly

Fresh install

Fresh Ingress resources are reconciled correctly

Testing was done using hello-world-app.
Hint for KVM:
kubectl port-forward -n kube-system svc/nginx-ingress-controller-app 8080:80
ingress_domain=host.configured.in.ingress; curl --connect-to "$ingress_domain:80:<IP_ADDRESS>:8080" "http://$ingress_domain" -v

Docker API v2 computes the digest using the name of the image. Since retagger is being replaced by skopeo, the v2 is used to sync the images.
This means that quay.io and docker.io have different digests. As a quick fix, I'm removing it from here to rely only on the tag, until we find a more permanent solution.


Update documentation for known issues

Description
I have been having an issue with FlashList showing the "rendered size" warning when navigating away from a screen with a FlashList.
First I solved the issue by only rendering FlashList if the screen was in focus, but that caused it to disappear when opening modals and being reset when closing the modal.
I discovered that setting React Navigation's option animationEnabled to false caused the screen to be 0px in width and height before unmounting.

I've signed the CLA!

I don't think this PR has any effect on why the e2e check fails

@larsmunkholm This PR may not be required with the latest improvements to the warning. Can you please check?

@larsmunkholm This PR may not be required with the latest improvements to the warning. Can you please check?

Not sure what you want me to check. The Flash List package hasn't been updated since I made this PR.
I still get the same warning in RN with animationEnabled set to false

More than 2 months later, and I'm still getting warnings.
For anyone passing by, replace animationEnabled: false with
transitionSpec: {
    open: { animation: "timing", config: { duration: 0 } },
    close: { animation: "timing", config: { duration: 0 } },
},
cardStyleInterpolator: CardStyleInterpolators.forNoAnimation,


Make sure that FNames are not too long.

Or at least, make it "reasonably sure"...
Supposed to fix https://github.com/CesiumGS/cesium-unreal/issues/617

The long name for the components is caused by integrating the Cesium3DTiles_TileUrl into the name.
The "name" of a raster overlay that arrives here is (with some back and forth) derived from the "Material Layer Key" that somebody can enter in the UI. This means that when somebody enters a "Material Layer Key" like ThisIsSomeVeeeee[...1024 characters...]eeeryLongKey0, then things might break apart there (Disclaimer: I don't know exactly under which conditions this path is taken, i.e. under which conditions the pCesiumData is nullptr). Just truncating the string could cause ambiguities, because he might create another key that ends with ...Key1. But that is so unlikely that I think it won't have to be handled (and if this causes an issue, I'll own it).

Two questions for how to handle the length limit in general:

Which part of the string should be removed?

The URL is integrated into the name for information purposes. Truncating it at the end would cause URLs like https://api.cesium.com/v1/assets/0/1/2/ to be truncated to a useless https://api.cesium.com/v1/assets (omitting the relevant differences). But the URL could also be long due to some &queryParameter.

What should be the maximum length for FName objects that we create?

Yes, 1024, but it's not that simple: When we create an FName for some component, then we don't know what Unreal will do with this name. Even if we dedicatedly generate a name that has only 1000 characters, then Unreal will use our FName to generate a new FName internally, as "/Cesium/Data/Whatever/" + ourName, causing the length limit to be exceeded again (and they don't check and handle this, by the way...).

Given the fact that we don't know how exactly what causes the long URLs, or long the prefixes will be that Unreal will attach our names to, this PR does two things:

It will truncate the URL to 256 characters, by removing characters at the start of the URL if necessary.
It will make sure that no FName that we are creating is longer than 256 characters. Because our FNames are often composed of two components, like name + "_Texture" (and we don't necessarily know what name is...), this is also done by removing characters at the start of name to make sure that the limit of 256 characters is obeyed.

Now, Unreal could still append (768+1) characters to our 256-character-FName, which could cause a crash, but there is no specified upper limit for the length of an FName, so this is somewhat arbitrary anyhow...

Edit
An example output with some "artificial URL" (where I just added a prefix to make it way longer than 1024 characters):

Thanks for the pull request @javagl!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium for Unreal Samples works.

Which part of the string should be removed?

My thinking (which has probably been influenced by the original user-reported issue is that the most likely reason for an excessively long URL will be a key included as a query parameter. And therefore we'd be better off removing the overflow characters from the end rather than the beginning. Of course it's possible to include a key as part of a path instead, or to have a silly-long path for other reasons, but that seems much less likely.
Maybe the best approach would be to replace the middle with ..., if it's not too much trouble.

What should be the maximum length for FName objects that we create?

256 sounds fine to me.

But that is so unlikely that I think it won't have to be handled (and if this causes an issue, I'll own it).

Yeah I'm honestly not fussed about this case at all. What you've done seems reasonable.

Maybe the best approach would be to replace the middle with ..., if it's not too much trouble.

"Better" than computing the longest common subsequence and analyzing the Kolmogorov complexity of the string segments? 😁
But seriously: The last commit uses a prefix + "..." + suffix approach, which I tested locally
void testConstrainLength(const std::string& input, const size_t maxLength) {
	std::cout << "Input    : \"" << input << "\"" << std::endl;
	std::cout << "maxLength: "<< maxLength << std::endl;
	std::cout << "Output   : \"" << constrainLength(input, maxLength) << "\"" << std::endl << std::endl;
}

void testConstrainLength() {

	testConstrainLength("A", 0);
	testConstrainLength("A", 1);
	testConstrainLength("A", 2);
	testConstrainLength("Example", 0);
	testConstrainLength("Example", 1);
	testConstrainLength("Example", 2);
	testConstrainLength("Example", 3);
	testConstrainLength("Example", 4);
	testConstrainLength("Example", 5);
	testConstrainLength("Example", 6);
	testConstrainLength("Example", 7);
	testConstrainLength("Example", 8);
	testConstrainLength("http://example.com/0/1/2/3/4?q=5678", 10);
	testConstrainLength("http://example.com/0/1/2/3/4?q=5678", 20);
	testConstrainLength("http://example.com/0/1/2/3/4?q=5678", 30);
	testConstrainLength("http://example.com/0/1/2/3/4?q=5678", 40);
}

having the output
Input    : "A"
maxLength: 0
Output   : ""

Input    : "A"
maxLength: 1
Output   : "A"

Input    : "A"
maxLength: 2
Output   : "A"

Input    : "Example"
maxLength: 0
Output   : ""

Input    : "Example"
maxLength: 1
Output   : "E"

Input    : "Example"
maxLength: 2
Output   : "Ex"

Input    : "Example"
maxLength: 3
Output   : "Exa"

Input    : "Example"
maxLength: 4
Output   : "E..."

Input    : "Example"
maxLength: 5
Output   : "E...e"

Input    : "Example"
maxLength: 6
Output   : "Ex...e"

Input    : "Example"
maxLength: 7
Output   : "Example"

Input    : "Example"
maxLength: 8
Output   : "Example"

Input    : "http://example.com/0/1/2/3/4?q=5678"
maxLength: 10
Output   : "http...678"

Input    : "http://example.com/0/1/2/3/4?q=5678"
maxLength: 20
Output   : "http://ex...4?q=5678"

Input    : "http://example.com/0/1/2/3/4?q=5678"
maxLength: 30
Output   : "http://example.../2/3/4?q=5678"

Input    : "http://example.com/0/1/2/3/4?q=5678"
maxLength: 40
Output   : "http://example.com/0/1/2/3/4?q=5678"

"Better" than computing the longest common subsequence and analyzing the Kolmogorov complexity of the string segments? 😁

Yes, because doing anything like that would require us to keep track of multiple strings so that we can find the longest common subsequence of them, and that would almost certainly be "worse" overall even if in the end it resulted in "better" names. 😆
Thanks for adding the ellipsis.


build error: CXX object LibCarla/cmake/server/CMakeFiles/c....dir///source/carla/opendrive/parser/GeometryParser.cpp. FAILED:

hi
when i make launch, i got the
Building CXX object LibCarla/cmake/server/CMakeFiles/c....dir///source/carla/opendrive/parser/GeometryParser.cpp.
FAILED:
../../LibCarla/source/carla/opendrive/parser/GeometryParser.cpp:118:21: error: loop variable 'geo' of type 'const carla::opendrive::parser::Geometry' creates a copy from type 'const carla::opendrive::parser::Geometry' [-Werror,-Wrange-loop-construct]
for (auto const geo : geometry) {
^
../../LibCarla/source/carla/opendrive/parser/GeometryParser.cpp:118:10: note: use reference type 'const carla::opendrive::parser::Geometry &' to prevent copying
for (auto const geo : geometry) {
^~~~~~~~~~~~~~~~
Building CXX object LibCarla/cmake/server/CMakeFiles/c...rver.dir///source/carla/opendrive/parser/RoadParser.cpp.
FAILED:
./../LibCarla/source/carla/opendrive/parser/RoadParser.cpp:299:12: note: use reference type 'const carla::opendrive::parser::RoadTypeSpeed &' to prevent copying
for (auto const s : r.speed) {
^~~~~~~~~~~~~~
&
../../LibCarla/source/carla/opendrive/parser/RoadParser.cpp:310:23: error: loop variable 's' of type 'const carla::opendrive::parser::LaneSection' creates a copy from type 'const carla::opendrive::parser::LaneSection' [-Werror,-Wrange-loop-construct]
for (auto const s : r.sections) {
^
../../LibCarla/source/carla/opendrive/parser/RoadParser.cpp:310:12: note: use reference type 'const carla::opendrive::parser::LaneSection &' to prevent copying
for (auto const s : r.sections) {
^~~~~~~~~~~~~~
&
../../LibCarla/source/carla/opendrive/parser/RoadParser.cpp:290:21: error: loop variable 'r' of type 'const carla::opendrive::parser::Road' creates a copy from type 'const carla::opendrive::parser::Road' [-Werror,-Wrange-loop-construct]
for (auto const r : roads) {
^
../../LibCarla/source/carla/opendrive/parser/RoadParser.cpp:290:10: note: use reference type 'const carla::opendrive::parser::Road &' to prevent copying
for (auto const r : roads) {
^~~~~~~~~~~~~~
&
Building CXX object LibCarla/cmake/server/CMakeFiles/carla_server.dir///source/carla/road/element/Geometry.cpp.o
FAILED:
../../LibCarla/source/carla/road/element/Geometry.cpp:196:28: error: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Werror,-Wimplicit-int-float-conversion]
double delta_p = 1.0 / number_intervals;
PS: i use clang++-10, ubuntu 20.04
i try to install clang++-8 on Ubuntu 20;04, but failed
any help are welcome

@Axel1092 could you please look into this?

Hi @gengtsh,
These errors are probably due to using clan10 instead of clang8. What problems did you find with installing clang8?
Unreal Engine is compiled with this version of clang and mixing version may produce errors. I suggest to try to find a way to use clang8.

hi, @Axel1092,
i remove everything related to clang10 and reinstall clang8, it looks like
this issues is fixed, but i encounter other issues: see the links below:
https://github.com/carla-simulator/carla/issues/3020
https://github.com/carla-simulator/carla/issues/3021
On Fri, Jul 3, 2020 at 8:38 AM Axel1092<EMAIL_ADDRESS>wrote:

Hi @gengtsh https://github.com/gengtsh,
These errors are probably due to using clan10 instead of clang8. What
problems did you find with installing clang8?
Unreal Engine is compiled with this version of clang and mixing version
may produce errors. I suggest to try to find a way to use clang8.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/carla-simulator/carla/issues/2988#issuecomment-653600320,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEEK7BKJW7Z5LYJOHLVX6XTRZX3NVANCNFSM4OGAALIA
.


Enabling Node-API libraries: Remove nApi preview feature flag and make Node-API libraries the new default, provide escape hatch to old behavior

We added the preview feature flag nApi in release 2.20.0 to let users try out the new Node-API library that could potentially replace the existing Rust binary. Results were promising, and the few bugs or regressions we found we could fortunately fix, so we are moving forward with figuring out how to enable this library for all users by default.
But we also need to give everyone an option to opt-out of the new behavior and keep using the existing binary as it is in production right now if they need it. Reasons for that can be special use cases, unwanted new or changed behavior, undetected bugs on our side and so on.
Enabling Node-API library by default
During the Preview phase of the functionality, users could opt in to the feature by either adding the nApi preview feature flag to the previewFeatures list of the generator block of Prisma Client, or by setting an environment variable PRISMA_FORCE_NAPI=true in their system environment to also enable the Node-API library for Prisma Client.
Now when a user just installs and uses Prisma, they directly get the Node-API library instead of the binary everywhere. The preview feature flag nApi and existing environment variable PRSMA_FORCE_NAPI are removed and not supported anymore.
The escape hatch back to the binary
So with the Node-API library enabled, everyone will get the Node-API library for both Prisma Client and Prisma CLI by default. But as laid out above, we need an escape hatch that allows to switch back to the binary as well. This is not trivial:

To understand if a preview feature flag in the Prisma schema file is enabled for the CLI to download the correct engine file, we actually already need an engine that can parse the schema and return a representation of it that includes "nApi is one of the enabled preview features".
This can be necessary as early as when the user runs npm install, as Prisma triggers a postinstall hook that runs prisma generate to generate a Prisma Client ready to be used as early as possible.
This is a chicken or egg problem, that we got around in the preview phase by only using the Node-API library in the CLI when the environment variable was set (and not via the preview feature flag in the Prisma Schema). This is confusing and hard to document. For the escape hatch we need to do better here.
The escape hatch also has to be present in the generated Client, which might not have access to many of the places that could be used for this configuration (A generated Prisma Client could be distributed via Npm, where only the @prisma/client and .prisma/client are included, or just copied between projects that do not have any of the other Prisma files present).

This means the configuration for the escape hatch has to be considered carefully.
Options
There are multiple options that we can consider (ordered by how "fixed" they are):
(Note that we make a suggestion on which of these options should be implemented below)
Client and CLI

Environment variable - An environment variable is a simple global configuration option that can be read from both CLI and Client. It can be different per system though, and does not have the best developer experience as setting them is different per deployment platform, operating system and so on.

PrismaClient constructor - The constructor PrismaClient in the code when using Prisma Client is used by us as a place to override the datasource's url property on runtime. It by definition only covers the client, after everything (both CLI and Client) were already installed and generated.

schema.prisma file - The Prisma Schema file is another place where we can put configuration, like the previewFeatures list in the generator block of Prisma Clients.
It has a few disadvantages:

There is no top level configuration in Prisma Schema yet - only blocks like generator, datasource or model etc. can take properties. This configuration for the escape hatch does not make much sense scoped to any of these, but would need to be global.
We do not actually have a parser for the schema file CLI or Client side - only via talking to an existing engine binary or library they can actually find out about the configuration included in that file.

package.json file - The project's package.json file is already used to be able to customize the location of the schema.prisma file via a schema entry in the prisma object, both for the CLI and Client. The same location and functionality can be used for the escape hatch:
"prisma": {
  "foo": "bar"
}

Configuration file for Prisma - If there was an explicit configuration file for Prisma outside of schema.prisma or package.json, that could also be used to adopt this configuration. But of course, it adds a lot of additional complexity that is hopefully not necessary in the context of this project.

Generated Prisma Client

For the generated Client (which includes the TypeScript types) there is only 1 option:
Similar to how it includes a copy of the schema.prisma file (.prisma/client/schema.prisma), it also needs to include the buildtime (when prisma generate is run) value of the escape hatch.
The obvious choice is a property in the Prisma Client generator: queryEngineType = 'napi' | 'binary'. To be able to override this on runtime, the generated Client will also listen to the environment variable described above.

Note: This is not a generator property to be documented publicly

Suggestions
We suggest as the escape hatch we implement options 1) Environment variable and option 4) package.json → prisma object:

In package.json:
"prisma": {
  "queryEngineType": "binary" // (vs. default `node-api`)
}

Environment variable: PRISMA_QUERY_ENGINE_TYPE=binary (vs. default node-api)

As usual the environment variable can be used to override any other choice made via other configuration options.

We chose these as they are available, proven to work, and fulfill the demands we have for the escape hatch configuration. (Options 2 and 3 are to late in the process, and option 5 is far to big to introduce for this configuration.)

Also relevant when testing the escape hatch: https://github.com/prisma/prisma/issues/7783

Before implementation, this was further simplified:

Configuration of engineType via generator block in schema.prisma, values binary or library - will default to library
Override via env vars, PRISMA_CLIENT_ENGINE_TYPE for Prisma Client, PRISMA_CLI_ENGINE_TYPE for Prisma CLI

Can previewFeatures = ["nApi"] safely be removed when using v2.30.0? I just found this issue in the release notes but haven’t seen the "nApi" preview option being marked for deprecation.

@kripod Nope, nApi hasn't left preview yet. That might happen next release but we still have some work remaining to do.

Follow: https://github.com/prisma/prisma/issues/8731

Removed from release notes, sorry about that.


AKAudioFile.exportAsynchronously error to export

Hello,
I've been trying to record and save audio files in my app, but have been getting errors like this:
Export Failed Error Domain=NSURLErrorDomain Code=-1100 "No se ha encontrado la URL solicitada en este servidor." UserInfo={NSLocalizedDescription=No se ha encontrado la URL solicitada en este servidor., NSErrorFailingURLStringKey=file:///file:/private/var/mobile/Containers/Data/Application/38FEF1D2-E4DA-4FD1-89AB-090CF67A9A5E/tmp/2017-04-05_12:34:25.caf, NSErrorFailingURLKey=file:///file:/private/var/mobile/Containers/Data/Application/38FEF1D2-E4DA-4FD1-89AB-090CF67A9A5E/tmp/2017-04-05_12:34:25.caf, NSURL=file:///file:/private/var/mobile/Containers/Data/Application/38FEF1D2-E4DA-4FD1-89AB-090CF67A9A5E/tmp/2017-04-05_12:34:25.caf, NSUnderlyingError=0x170250230 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
The code:
let audioFile = try AKAudioFile(readFileName: "nameFile" + ".caf", baseDir: .temp)
audioFile.exportAsynchronously(name: "nameExportFile",
baseDir: .documents,
exportFormat: .m4a) {_, exportError in
                if let error = exportError {
                    print("Export Failed \(error)")
                } else {
                    print("Export succeeded")
                }
            }

The error shows that the URL contains twice "file: /" at begining, this is ok?. I'm on 3.5.4 version.
Thanks.

Seems related to this: https://github.com/audiokit/AudioKit/issues/792
definitely need to get to the bottom of this to close a few similar issues.

Hi, the problem seems to be the line 328 from /AudioKit/Common/Internals/Audio File/AKAudioFile+ProcessingAsynchronously.swift
I think that instead of
let asset = AVURLAsset(url: URL(fileURLWithPath: url.absoluteString))
it should be like this
let asset = AVURLAsset(url: url)
Best regards.

You're beautiful! thank you!

I had this same error until I reverted this change (I was building from source in my project). Is this a change from Swift 3.0 to 3.1?

@Audiograins
I have a same error.
I think AVURLAsset(url:URL) make "file://" prefix to file path in Swift 3.0. In 3.1, however, there is no "file://" prefix.(It is only speculation.)
I tested using below code.
/AudioKit/Common/Internals/Audio File/AKAudioFile+ProcessingAsynchronously.swift:328
var asset = AVURLAsset(url: url)
if !asset.isExportable {
asset = AVURLAsset(url: URL(fileURLWithPath: url.absoluteString))
}

That seems to be old code, it has been updated in AudioKit3.6

Sorry, I wasn't clear in my earlier comment.
I'm still using Swift 3.0.2 as I can't upgrade Xcode just yet, but using AudioKit 3.6 source (so I had this fix in my project). It seems to me that the fix for this issue works only with Swift 3.1 but fails for earlier versions, so I reverted to the old code and it seems to work now. I think the reason given by hwiorn is probably correct but couldn't find anything in the Swift documentation to confirm a change between Swift 3.0 and 3.1 that would cause this issue in the first place.


[Feature Request] Allow users to disable minimap integration

Im making a modpack and i've setup all the UI's perfectly only to realize having a minimap installed automatically overwrites the UI location with no way to turn it off.

Sure I can try and get that added sometime today

Added in 1.7.16


Ruby warnings of constant redefinition

Pretty much subj:
/home/ixti/.gem/ruby/2.3.3/gems/dry-validation-0.10.3/lib/dry/validation/message_compiler.rb:13: warning: already initialized constant Dry::Validation::MessageCompiler::EMPTY_OPTS
/home/ixti/.gem/ruby/2.3.3/gems/dry-core-0.2.1/lib/dry/core/constants.rb:52: warning: previous definition of EMPTY_OPTS was here

Not a greatest issue, but still would be nice to get rid of those ;))

Yeah, sorry about that, this will fixed in dry-validation 0.10.4, see https://github.com/dry-rb/dry-validation/issues/276

@flash-gordon 👍 Thanks!


Fw 496

To merge with SW-242

Looks good to me. @changtengfei, do you want to do the merge? Thanks @zach-b !

Cool! I merged it :)


fix: adjust sellers bio and photo

The type of this PR is: chore
Description
This PR adjusts the sellers' bio and photo.

cc @dariakoko @olerichter00 this comes as a request from Wendy

Do we need to make the same change in Eigen (by updating the data in S3, if I remember correctly)?


Workspace - "Manage members" invite list is displaying square grey icons

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

Action Performed:
Precondition: User has a workspace created

Access staging.new.expensifail.com
Sign into an applause.expensifail.com account
Turn off the internet connection by enabling "Airplane" mode
Tap on the "Profile" icon > "Workspace" > "Manage members"
Tap on "Invite" while offline

Expected Result:
The user expects to see the icon color loaded and if this is not possible the user expects to see a grey circle icon next to each name
Actual Result:
The user sees grey square icons that change to circles upon scrolling down or upwards
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any expensifail account
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/170136391-e272f57a-1deb-4122-84fe-56cff79df733.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Most likely will be addressed in the refactor, we can address this again if it comes up still

Waiting on refactor

Can't reproduce this on staging or in dev I believe this should be fixed by now if it was an issue:


Add ability to actualize element collection elements.

Proposed changes
Add ability to actualize element collection elements.
Ignore in this case previously cached elements in collection.
Checklist

[x] Checkstyle and unit tests pass locally with my changes by running gradle check chrome htmlunit command
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

@rosolko I don't understand why it's needed. This is effectively the same as calling $$("...") once more.

@asolntsev I agree, but as discussed in slack some users want to work with single declared field, so this method allow to avoid cached elements in collection.

Close in favor of #762


Workflow not displaying - just get an ERROR ( STANDARD PLAN )

Describe the Bug with repro steps
1 : go to Workflow
2 : Click Code view : no issues
3 : click DESIGNER
4 : Error message "The renderComponentIntoRoot component encountered an error while loading." and the Designer fails to load.
5 : NO OPTION to use GA Designer or PREVIEW
the Designer is now the PREVIEW one and no option to use the old one,
Causing MAJOR ISSUES  - happening in ALL environments.
Cleared cache, mutliple Devs reporting the same issue.
What type of Logic App Is this happening in?
Consumption (Portal)
Are you using Preview Designer or GA Designer
Preview
Workflow JSON
Will not let me ADD - too long

it has some SWITCHEs and HTML in - worked perfectly on the old designer.

Screenshots or Videos

Browser
All tried
Additional context
No response

Hi @sladeyman, this appears to be a standard workflow from the screenshot you attached, would you mind sharing the HAR / network trace from when you load designer so we can troubleshoot where the error is coming from?

seems to be to big - "message": "Maximum call stack size exceeded", "name": "RangeError" }, "errorInfo": { "componentStack": "\n at d$
however, it worked a treat n the old designer.

it will also now longer load in VS code

hey guys  - this is RESOLVED
We have just fixed this by Renaming the CASES and ACITONS to have unique names. And this has fixed the issue.
In case any one else has this - The Case( switch name ) and any subsequent actions must be unique for the that case. i.e - if the CASE is SEND EMAIL - then none of the actions should be called SEND EMAIL.
Remember to HARD RESET (cntl + f5 ) broswer - and hey presto - it works.

I'm glad you got it resolved!  I will keep this open since other's might experience the same issue for now, we're working on a fix and will close this ticket once we're confident this will not crash in new-desinger

This has been fixed with https://github.com/Azure/LogicAppsUX/pull/2565
We will be releasing a hotfix today that will include this fix!


[FLINK-34020] Bump CI flink version on flink-connector-rabbitmq

@snuyanzin Any ideas why everything passes for the non 1.19-SNAPSHOT tests, but nothing for 1.19-SNAPSHOT?

I was able to reproduce it locally with
mvn clean install -Dflink.version=1.19-SNAPSHOT

local test shows that this is the first commit
commit e9353319ad625baa5b2c20fa709ab5b23f83c0f4 (HEAD)
Author: Wencong Liu<EMAIL_ADDRESS>Date:   Fri Sep 8 11:04:56 2023 +0800

    [FLINK-32978][flink-core] Migrate the usage of RichFunction#open(Configuration parameters) to RichFunction#open(OpenContext openContext)

    This closes #23058

when it stopped workiing for flink-connector-rabbitmq
probably it is the reason

I commented about that at
also I submitted a PR to your branch applying WA to work after changes within FLINK-32978   and making it passing tests
https://github.com/snuyanzin/flink-connector-rabbitmq/actions/runs/7453993758


Selectors that use English text will break for intl users

Related to #6 possibly.
We need to devise better selectors for these since other languages will likely not have the same text. Almost all xpath selectors will need to be fixed.

All xpath selectors that were using English text as part of their query have been refactored away.


Update SQL credentials: sql password character error

Describe the issue
When using the 'Update SQL credentials', having a double quote character (") in the provided sql password leads to an error.
I debugged the powershell code myself and the problem seems to be that the double quote character breaks the 'Apirequestbody' formatting. When the request body is then sent to the API in the update credentials call, there is an error which says that the request body is not formatted correctly.
After changing the sql password to something which didn't include the the double quote character ("), the task would run normally. However, it would be better to include support for a double quote character (") in the password. Or at least add documentation which says that a sql password cannot include this character.
**Extension **

Extension: powerbiactions-new
Version: 5.4.44

To Reproduce
Steps to reproduce the behavior:

Add the 'Update SQL credentials' task
Fill in a sql password which has a double quote character (")
Run the task
See error

Expected behavior
I expect the credentials to be updated, but they are not.
Situation (please complete the following information):

Agent type: Agent: Hosted Agent
Autentication: Service Principal

@ljansaagbi01 will pick this up in a release we are working on.

Nice, thanks! Didn't mention it in my initial post, but great work you are doing with this extension!