WebSocketException: Connection not upgraded to websocket

Good day, please any idea on how to resolve this
/flutter (31920): Connecting to websocket: ws://<IP_ADDRESS>:8080/graphql...
I/flutter (31920): There was an error causing connection lost: WebSocketException: Connection to 'http://<IP_ADDRESS>:8080/graphql#' was not upgraded to websocket
I/flutter (31920): Disconnected from websocket.
I/flutter (31920): Scheduling to connect in 5 seconds...
I/flutter (31920): Connecting to websocket: ws://<IP_ADDRESS>:8080/graphql...
I/flutter (31920): There was an error causing connection lost: WebSocketException: Connection to 'http://<IP_ADDRESS>:8080/graphql#' was not upgraded to websocket
I/flutter (31920): Disconnected from websocket.

Tested on
^2.1.1-beta.4
^2.1.0
^2.0.1
http request work flawless but websocket is giving me headache. any one pls.
here is my code
const String YOUR_PERSONAL_ACCESS_TOKEN =
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

const bool ENABLE_WEBSOCKETS = true;

class Principal extends StatelessWidget {
  const Principal() : super();

  @override
  Widget build(BuildContext context) {
    final HttpLink httpLink = HttpLink(
      uri: 'http://<IP_ADDRESS>:3030/graphql',
    );

    final AuthLink authLink = AuthLink(
      getToken: () async => 'Bearer $YOUR_PERSONAL_ACCESS_TOKEN',
    );

    Link link = authLink.concat(httpLink);
    if (ENABLE_WEBSOCKETS) {
      final WebSocketLink websocketLink = WebSocketLink(
        url: 'ws://<IP_ADDRESS>:3030/graphql',
        config: SocketClientConfig(
            autoReconnect: true, inactivityTimeout: Duration(seconds: 15),
            initPayload: {}
          ),
      );

      link = link.concat(websocketLink);
    }

    final ValueNotifier<GraphQLClient> client = ValueNotifier<GraphQLClient>(
      GraphQLClient(
        cache: OptimisticCache(
          dataIdFromObject: typenameDataIdFromObject,
        ),
        link: link,
      ),
    );

    return GraphQLProvider(
      client: client,
      child: const CacheProvider(
        child: MyHomePage(title: 'GraphQL Widget'),
      ),
    );

  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    Key key,
    this.title,
  }) : super(key: key);

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  List<Person> listPerson = List<Person>();
  QueryMutation queryMutation = QueryMutation();

  @override
  void initState() {
    super.initState();
    //fillList();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Example"),
      ),
      body: Stack(
        children: <Widget>[
          Container(
            width: MediaQuery.of(context).size.width,
            child: Text(
              "Person",
              textAlign: TextAlign.center,
              style: TextStyle(fontSize: 30.0),
            ),
          ),
          Query(
            options: QueryOptions(
              document: queryMutation.getAll(),
            ), builder: (QueryResult result, {refetch, fetchMore}) {

                if (result.loading) {
                  return const Center(
                    child: CircularProgressIndicator(),
                  );
                }

                if (result.hasErrors) {
                  return Text('\nErrors: \n  ' + result.errors.join(',\n  '));
                }

                if (result.data == null && result.errors == null) {
                  return const Text(
                      'Both data and errors are null, this is a known bug after refactoring, you might forget to set Github token');
                }

                // result.data can be either a [List<dynamic>] or a [Map<String, dynamic>]
                final List<LazyCacheMap> repositories = (result.data['Persons'] as List<dynamic>).cast<LazyCacheMap>();

                return  ListView.builder(
                    itemCount: repositories.length,
                    itemBuilder: (BuildContext context, int index) {
                      return ListTile(
                        selected: repositories == null ? false : true,
                        title: Text(
                          repositories[index]['firsName'],
                        ),
                        onTap: () => {},
                      );
                    },
                  );

            },
          ),
            ENABLE_WEBSOCKETS
              ? Subscription<Map<String, dynamic>>(
                    'PERSON_ADDED', queryMutation.testSubscription(), builder: ({
                    bool loading,
                    Map<String, dynamic> payload,
                    dynamic error,
                  }) {
                    if (error != null) {
                      return Text('\nErrors: \n  ' + error.join(',\n  '));
                    }

                    return loading ? const Text('Loading...') : Text(payload.toString());
                  })
              : const Text(''),
        ],
      ),
    );
  }
}

I am not sure about this, but a WebSocket is upgraded by the server and not the client. It is initialized just like a normal HTTP request and upgraded to WebSocket after the handshake. This seems like an error on the backend and I would suggest trying the to use GraphiQL and see if it works and then report back.

@mainawycliffe Graphql works, tested with postman and my web browser. Its more flutter issue
flutter issue
Another flutter issue.
I can upload my server code on github if you don't mind

If I read the issues correctly this could be an issue with the emulator and device settings. It would be helpful if you could upload your server code and when I get some time I will try and test it.

@mainawycliffe here is my server code
FeatherjsGraphql.
thanks

@mainawycliffe any luck with this

This is likely resolved on 4.0.0-beta. If someone still has this issue there please comment and I'll reopen

Yes I still have an issue with this

All right, I found that the issue is my Nginx proxy server making this error. No wonder ws protocol is changing to http.

https://www.nginx.com/blog/websocket-nginx/

Yes we added a condition on the api to check for gql flutter protocol.

@Pinteezy and that solved your issue? So it looks to me like this was both:

an issue with flutter that has since been resolved
a tricky server-side configuration that can result in a similar error

Is my read correct, or is there something we should be doing differently here? I have not  looked deeply

Did anyone come with an idea for this? I am stuck on this for 2 days now. In HTML it works great but in APIs and Flutter it does not. I tried everything and it is still converting my "ws://<my_ip>/groups" to "http://<my_ip>/groups#"

Getting the same error on plugin version graphql_flutter: ^5.0.0

It looks like the problem still exists in the latest versions of the package.
I have exactly the same problem as the two commenters above.

Correct NGINX config
listen on port 80, u can use any port
//sites-available
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    server_name socket.chargoshe.com;
    location / {
        proxy_pass http://websocket; // upstream name lookup upstream method
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;     // headers key and handle method name
        proxy_set_header Connection $connection_upgrade; // headers key and handle method name // header most be contains key Connection
        proxy_set_header Host $host;
    }
}

// nginx.conf
map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }  // connection header must be contains Connection and here Connection value is updarade
      // u can add any authorization, authenticated or any u wanted
   upstream websocket {
        server <IP_ADDRESS>:27015; // backend websocket app running IP and port // here I running my app with port 27015
    }

now you can connect to wabsocket like
final channel = IOWebSocketChannel.connect('ws://yourhost:LISTENPORT
        headers: {'Connection': 'upgrade', 'Upgrade': 'websocket'}); // headers
    channel.stream.listen((message) {
      print("message $message");
    });

I have the same problem i have tried socket io client version 1.0.1 in flutter with the socket io in nodejs version 2.4.1 , and tried to upgrade flutter socket io to the 2.0.0-beta.4-nullsafety.0 version with the node js socket io 2.3 version , it didn't worked
here's my code :
  static Socket? socket;

  socket = io("wss://url:443", OptionBuilder()
         .setTransports(["polling","websocket"])
          .disableAutoConnect()
          .setExtraHeaders({'authentication':token ,  'Connection': 'upgrade', 'Upgrade': 'websocket'})
          .build() );

      // Connect to websocket
      socket?.connect();

I have the same problem i have tried socket io client version 1.0.1 in flutter with the socket io in nodejs version 2.4.1 , and tried to upgrade flutter socket io to the 2.0.0-beta.4-nullsafety.0 version with the node js socket io 2.3 version , it didn't worked
here's my code :
  static Socket? socket;

  socket = io("wss://url:443", OptionBuilder()
         .setTransports(["polling","websocket"])
          .disableAutoConnect()
          .setExtraHeaders({'authentication':token ,  'Connection': 'upgrade', 'Upgrade': 'websocket'})
          .build() );

      // Connect to websocket
      socket?.connect();

you need to use socket_io_client 2 or higher scroll down list to see beta versions.
also i dont think using wss with socket.io works since socket.io and websocket are not compatible.
I use socket_io_clientlike : socket_io_client: ^2.0.0-beta.4-nullsafety.0 and works fine with node.js
like:
late Socket socketConnection;
// Configure socket, transports must be sepecified
socketConnection = io(localhostIO, <String, dynamic>{
"transports": ["websocket"],
});
socketConnectionId = socketConnection.id!;
socketConnection.on("onClientMsg", onClientMsg);
socketConnection.on("onServerMsg", onServerMsg);

I have the same problem. My problem started after deploy my app to Azure.

@okan-oz Nov 30, 2019 is too late in the past, maybe can you open an issue with more details and we can help you!

am still getting this error 0/socket.io/?EIO=4&transport=websocket#' where does this leading zero come from ??


CNCF (Sandbox) TAG-Runtime Discussion/Presentation

Hi KCP Edge maintainers,
I'm part of CNCF TAG Runtime. I think it would be great for you to present/discuss KCP Edge at one of our meetings, especially also since you've applied for Sandbox (https://github.com/cncf/sandbox/issues/32).
For example, it would be great to learn things like the roadmap, tech, community and the general overview of the project.
Let me know if this is something you'd be interested in doing. If yes, please feel free to add it to our agenda or reach out to us in the #tag-runtime channel on the CNCF slack.
Thanks!
cc @raravena80 @helayoty

@clubanderson We try not to have more than 1-2 projects per meeting due to time constraints. I've moved the KCP Edge presentation from May 4th to May 18th. Hope that works!

Works for us. See you then.

Presentation was completed today - thank you.  We hope to hear from you soon re: our sandbox application's status.

Next meeting of TAG-Runtime is on Dec 12th.  Voting will open after this meeting. Fingers-crossed

KubeStellar has now been accepted to the CNCF Sandbox project!  Looking forward to what is ahead!
checkout the vote: https://github.com/cncf/sandbox/issues/32

Congrats @clubanderson !


Add UI page for the list of source RSS feeds

The goal is to be able to go from the feed page to the list of feed. Visually we can just add a link here to navigate to the list

Each row in this list should include the title (with rss-link), number or entries and the last pudate
@orthur - this one is very similar to #58 you have added. Let me know if you want to take it too

Sure I take it

looking good, thx


Return peer info when batch open fails.

Addresses https://github.com/lightningnetwork/lnd/issues/9016, which makes it easy to point out the problematic peer if the batch open fails.
Went for this simple fix, because I think a more structured error might be an overkill ? But open for other ways.

@ziggie1984, remember to re-request review from reviewers when ready

!lightninglabs-deploy mute


Change to get a bigger buffer for GetAdapterAddresses when original is not big enough

The call to GetAdapterAddresses starts out with a buffer of 15000 bytes. If this buffer is not big enough, the call to GetAdapterAddresses returns with error code ERROR_BUFFER_OVERFLOW and returns the size of how big the buffer should be. This change looks for that error code, allocates a bigger buffer and calls GetAdapterAddresses again in order to avoid the error.

For what it is worth: this branch has 1 change in 1 file in WIN32 specific code. I don't really see any way for this to break ubuntu-18.04 builds.
On the other hand, I do like to learn at least one new thing a day and maybe this is an opportunity.

Looks like installation of nscd failed, because the file or went for in http://azure.archive.ubuntu.com/ubuntu/pool/universe/g/glibc/ doesn't exist any more, bit odd. Certainly nothing to do with the PR anyway!
When have you encountered the ERROR_BUFFER_OVERFLOW?
I didn't like a 15kB std::array but it did have the advantage over std::vector of not unnecessarily zeroing the contents. Hmm.

I didn't like a 15kB std::array but it did have the advantage over std::vector of not unnecessarily zeroing the contents. Hmm.

The verbose solution to this would appear to be a special allocator that does default-init.
The GetAdaptersAddresses docs and example code also imply that since the required buffer size can change between calls, one may have to retry several times. One retry is obviously better than none, but I wonder if there are circumstances (boot time?) where this is more likely to be encountered?

On my PC, the needed size returned was about 32K instead of 15K. I have 11 items listed in the output of ipconfig. there are at least 3 ethernet adapters in use and a wifi. There are also a usb ethernet being used as a license dongle, a bluetooth network connection, a VMware port, and a couple of Wireless LAN adapters.
I think you are right that when booting up, the system may be changing with respect to the status of the ethernet adapters. This speaks to a need to do multiple tries at GetAdapterAddresses for two different reasons. The size needed may be changing and the failure to find the desired adapter may just mean the adapter is not up yet.
The changing size seems easy to deal with. Multiple retries is one way. Another is to allow the specification of the "known" size needed so it just starts at a good place. For an embedded system, the configuration should be pretty static and a known size could be specified. My real application will be Linux based so the PC is just for development. Doing multiple retries, even with the time to initialize the space to 0 is not a problem. It just has to work.
Not sure how to deal with being too early for the desired adapter. Probably have to delay the application or order the startup so that this is unlikely to happen. On the PC, this is not a problem for me. I am only starting the app after the system is fully initialized. For development, the app is not being started as a service. We do have other applications which are services and the volatility of the network adapters has been an issue, so this seems likes a valid concern in the general case.

I'm going to merge this, thank you, John.

Not sure how to deal with being too early for the desired adapter. Probably have to delay the application or order the startup so that this is unlikely to happen. On the PC, this is not a problem for me. I am only starting the app after the system is fully initialized. For development, the app is not being started as a service. We do have other applications which are services and the volatility of the network adapters has been an issue, so this seems likes a valid concern in the general case.

I think you're right, but I think this part is outside the scope of the change here. Running as a service would need other changes vs. the structure of the example 'node implementation' code.


Add way to launch Minecraft with mod without using Eclipse

Basically, use Eclipse's Run button outside of Eclipse because the shadowjar thing isn't working. Maybe add a new gradlew command if possible?

Need to work with @arun-gupta on this


Leaderboard + Dashboard responsiveness

Description:

Sign in to admin account and Go to http://localhost:3000/input-data/35

Work on InputDataDashboard.jsx inside Input Data Page

It looks very ugly rn, made changes to it so it looks like the Figma design

Feel free to fix anything to match the design

Resources:

Figma Link

Closed by #204


Docker section notes

@everett-toews: I gave the Docker section a run-through and had a few minor comments. I figured I'd post them here rather than dump them all in Slack so you could check them out later.

Slide 14: The ds alias isn't used anywhere else, we always spell out docker ps. Maybe delete?
Slide 24: Any reason you're using gliderlabs/alpine instead of alpine? I'd prefer to nudge people toward the official image.
Slide 24: What would you think about adding a CMD as well? That could lead in to the differences between ENTRYPOINT and CMD.
Slide 25: The entrypoint.sh script should exec on its final line. It actually does make a difference' see the best practices guide. Specifically, it ensures that signals are propagated to the nginx process correctly, which will be important later if we need to SIGHUP it.
Slide 32: How secure are overlay networks in Swarm, anyway? Is it possible to sniff them... ? I'd probably still recommend using TLS.

I prefer the explicit instruction for docker ps too

How secure are overlay networks in Swarm, anyway? Is it possible to sniff them... ?

That depends on the implementation. In the case of carina, the overlay networks function over service net while not having publicly accessible ports or IPs. An attacker would have to have access to sniffing on servicenet itself.

Thanks for the review @smashwilson. Edits are in https://github.com/everett-toews/jupyterhub-on-docker-swarm/commit/5d7da3a0c4bba84983c82f8cc97335bd90daec12

Slide 14: The ds alias isn't used anywhere else, we always spell out docker ps. Maybe delete?

Deleted

Slide 24: Any reason you're using gliderlabs/alpine instead of alpine? I'd prefer to nudge people toward the official image.

Nope. Removed. (I was using the official image everywhere else ...)

Slide 24: What would you think about adding a CMD as well? That could lead in to the differences between ENTRYPOINT and CMD.

Done.

Slide 25: The entrypoint.sh script should exec on its final line. It actually does make a difference' see the best practices guide. Specifically, it ensures that signals are propagated to the nginx process correctly, which will be important later if we need to SIGHUP it.

TIL. Thanks!


temp_dir content preserved

While developing locally temp_dir() is used. So I faced with the issue when I changed my html files but they won't applied for new run just because files in temp dir preserved(in my case it was: /var/...locutus/webs/...; m1 Monterey platform)
I needed explicitly rm -rf /var/.../locutus
So probably we need to do some cleanup when exit?
Also I faced with the issue when I changed some file and I need to run bunch of comands(recompile web/data contract/data and move into examples)
Since it's an active development as a quick solution - does it make sense to introduce some Makefile/bashscript for that?

We also can place a temp dir clean command there

Preserving things is on pourpouse since even under local development you will want most probably to keep state across different executions of the same contract to emulate how things would work in a real environment.
What we could do is add a commad line parameter for when the local node is executed to perform a tear down of any state which is kept alive. I would rather do that that introduce scripts just for it, as it seems more portable and maintainable and it makes sense to give those options to the developer (I also have faced similar situations where I had to clean manually any output to have a blank slate, but other tiems you want to keep previous state around, so I think having the flexibility is good).

Adding a command line argument sounds good.
I can tackle on it.
But what about automated build of the dev contracts like I mentioned abow via bash file?

But what do you think about automated build of the dev contracts for dev purposes like I mentioned above via bash file?
Yes we will need scripts for those eventually when we enable them at the CI level and add them to testing pipelines.

Which because rising popularity we shall do sooner rather than later. But we can pick up on that later.


Remove unused HITL stuff

This removes two HITL thing that are, in my opinion, leftover and not needed anymore. See the commits for further info.

This looks right. What HIL setup are you using these days?

I'm using H520 and test the SDK against it.


Request Local Driver

Issue Type

Feature request

Molecule and Ansible details
ansible --version
2.2.1

molecule --version
1.21.1

Molecule installation method: pip
Ansible installation method: OS package

Desired Behaviour
use local driver to test the roles with only tasks/modules/plugins running on the ansible controling machine.

@gzm55, you mean that molecule should can self-provision local machine, without docker and vagrant sandboxes?
I think it can be useful on travis for roles that cannot be tested in docker, like roles that modifies /etc/hosts, /etc/resolv.conf and so on.

I'm probably not going to implement this into Molecule v1.  However, this sounds interesting for v2.

IMO, it is something like 'connection: local' or 'deletate_to: localhost' in ansible, or 'local' connection backends in testinfra.
Before version 2, can we have options to skip driver section, and do not converge any VM/container instances at all?

Before version 2, can we have options to skip driver section, and do not converge any VM/container instances at all?

v1 isn't getting much of my time.

@gzm55 so what is it you are looking for?
You want molecule to entirely skip the creation portion, and one would provide the connection settings in inventory? This would allow a user to point molecule at a server that was managed externally to Molecule for converge,test cycle?

@retr0h Yes, first we want to avoid depend on ANY VM driver (now a driver and at least one vm/container are always required ) and then skip provisioning ANY virtual machine; second, we need molecule to generate the inventory from molecule.yml, the connections of generating hosts could be localhost, ssh or any other valid ansible connections.
With this feature, we can test some special ansible roles, such as do something only on the ansible controlling machine.

+1 on this.
Being able to provide a custom ansible inventory without any provision would allow test to be run also on the real machine and not just on test ones.
This would sound like a "production" scenario for validating changes even on final machine and be sure they match expected result obtained in "development/regression" scenarios run with provisioned VMs

@gzm55 @aroundthecode I just implemented a Static driver.  This is raw around the edges and will likely change a bit.  Feel free to try it out.  Currently, I have prototyped it on Docker running locally.  Once I incorporate vagrant, it is likely this will just work for any ssh endpoint.

@retr0h If setting ansible_connection to local, the tests will run directly on the localhost, is it right?

@gzm55 yes

@retr0h this interface looks good to me.

Molecule automatically appends the scenario name to the instances it is testing.

Will this introduce some confusion?

Will this introduce some confusion?

Hopefully not :)  Thats how v2 works today.  It really wouldn't make sense to have a static host that is managed outside of molecule, and converge various scenarios against it.
The whole beautify of scenarios is the converge/test cycle per scenario.

This will not be a problem on vm driver (vagrant/docker/localhost). Whereas for metal machines, maybe we need some example showing how to specify pingalbe hostname via ansible_host.
Another thing,

login_cmd_template: 'docker exec -ti {} bash'

this seems using a syntax like xargs, right? more documents?

this seems using a syntax like xargs, right? more documents?

This example only covers Docker.  Nothing else has been attempted or developed yet.

Closing.  Implemented @ 2e97e5f45dc562ace84eb2feef0e448dfe7a9d66.

You can skip some default test steps overriding molecule.test.sequence in molecule.yml:
molecule:
  test:
    sequence:
      # - destroy
      - dependency
      - syntax
      # - create
      - converge
      - idempotence
      - verify


XIVY-3574 fix old maven repo

found another zugpronexus repo...
But honestly does anyone use this update-version maven execution? This will never run on any pc except we deploy the maven-version-plugin on repo.axonivy.com... And in my opinion this should never run on any pc (or even be on this github repo). I use always VSCode Search/Replace for a version update...
I vote for complete removal of this update-version part!
But anyway here s the fix to use the new nexus.ivyteam.io repo.

It's good that you know hot to run VS code search and replace correctly:

but what about new employees? how does anyone know how to maintain these repos?
what If I have to review such a change? would I trust it if has be done by hand ... no I don't ... I prefer a reproducible scenario that works the same on every machine.
we must become better in automation ... not more reliant on personal work strategies.

I think for new employees Search / Replace is easier to understand. But anyway you have your point and I don't want an argue about this with you :)
I updated the plugin to the newest version.


Unconditional fully static linking on Linux causes problem

“promu build” unconditionally passes -extldflags -static to the Go build tools, instructing the external linker to produce fully static binaries.  However, some projects built with “promu build” require a working getaddrinfo function, so they cannot use fully static linking:

Panic and crash when supervisord collector enabled, yet supervisord not listening on <IP_ADDRESS>:9001
getaddrinfo causes segfault if multithreaded and linked statically

The Go toolchain will automatically switch between static and dynamic linking, to meet the project's requirements, so it would be preferably not to override this decision.

Are the binaries always run with a consistent libc?

The upstream bug I referred to happens with matching binaries.  Static linking, threads, and dlopen (whether explicit or implicit as part of getaddrinfo etc.) are extremely buggy at the moment.

What I meant to ask was – given the usage of the binaries we provide, can we even build them as dynamic binaries?

Hi, is there any progress? I also have this problem.
I change code to comment -extldflags -static, and build again, it works well.

@simonpasquier  Thanks for your reply.
This PR not merge currently, if i want to use, do i need to make this changes in my fork repos? Can not directly use the officially release.


Multi tenancy for ClickUp per Slack channel

ClickUp provider has multi connections for each of slack channel separately
INSLY-1121 - Jiraclick: Link ClickUp credentials to Slack channels

Task linked: INSLY-1121 Jiraclick: Link ClickUp credentials to Slack channels

Task linked: INSLY-1121 Jiraclick: Link ClickUp credentials to Slack channels

!deploy

!deploy


Contact Sensors issues

Hello!
I'm able to pull contact sensors from my Wyze account, I can see nicknames, macs, rssi, etc, but all of them are showing as closed when this is not the case.  sensor.is_open returns False for everything.
Additionally, it looks like the wiki might be mislabeled -  It's got Contact Sensors and Entry Sensors, but the only thing under Entry Sensors is Motion Sensors.
I did try client.entry_sensors.info(device_mac=mac) but that returned nothing.  Interestingly without device_mac=, that statement errors out.  TypeError: ContactSensorsClient.info() takes 1 positional argument but 2 were given
Thanks!

Hey @TheGreatSkeeve,
Thanks for your interest in this library. I'm doing my best to maintain it but often lack the time. So, a few things about your specific issue(s):

The wiki is definitely confusing. I tried to name things in a way that didn't break my brain, but wyze calls the contact sensors "entry" sensors in their app. That's the reason both of those terms are used. But I agree with you that there's a mistake in the docs and the MotionSensorClient heading is wrong. I will fix that.
I don't actually have any contact/entry sensors at the moment. Someone was nice enough to share theirs with my account temporarily while I developed this and I no longer have them in my account.
If you'd like to debug this issue further, please try the following:

wyze_sdk.set_stream_logger('wyze_sdk', level=logging.DEBUG)

for contact in client.entry_sensors.list():
    print(contact.to_dict())

If you can paste the result of that here, I'll take a look. Hopefully just a simple bug somewhere.

So, nothing actually gets returned when I run that command - entry_sensors is empty.  Is it possible the newer ones aren't classified the same way?
I can send over the output via email, it essentially looks like a full dump of my Wyze config and even if I sanitize it I'll probably miss something I don't want public.  I can also share entry sensors with you if that would be helpful.
Thanks again!

Yeah definitely send them.
There is usually at least an error/warning if the device has a model number
that I haven’t accounted for.
On Sun, May 1, 2022 at 2:19 PM THC-Lab @.***> wrote:

So, nothing actually gets returned when I run that command - entry_sensors
is empty. Is it possible the newer ones aren't classified the same way?
I can send over the output via email, it essentially looks like a full
dump of my Wyze config and even if I sanitize it I'll probably miss
something I don't want public. I can also share entry sensors with you if
that would be helpful.
Thanks again!
—
Reply to this email directly, view it on GitHub
https://github.com/shauntarves/wyze-sdk/issues/71#issuecomment-1114302776,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABEDBMHLM6645JPW6CANJWDVH3DJPANCNFSM5TXM7J6A
.
You are receiving this because you commented.Message ID:
@.***>

Looks like that was the issue - there are new model numbers for the entry and contact sensors. I don't have any of these newer ones to try out, but feel free to check out https://github.com/shauntarves/wyze-sdk/tree/71-contact-sensors-issues and let me know if it works for you.
I'll merge it into the main code base if I don't hear from you in a few days and we can investigate more if it doesn't work.

Hey man-
That was it - the link your sent works for me.  Thanks again, sorry for the late reply, been busy.
Take care!


No transformer has been configured when updating to 5.1.5

When we upgrade from 5.1.4 to 5.1.5 we get the following error:
Error on "<redecated>.ts" file. Check your code.
Error: Error on nestia.core.TypedRoute.Get(): no transform has been configured. Run "npx typia setup" command, or check if you're using non-standard TypeScript compiler like Babel or SWC

Reproducible repo please

Turn off noEmit option of tsconfig.json, then detailed error reason would be printed.

After upgrading to<EMAIL_ADDRESS>this issue is resolved.


When creating new accounts, allow users to enter their phone numbers with - and/or ( ) and spaces

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:
Flow 1:

Navigate to NewDot
Input a phone number as login using any of symbols -, (, ) or spaces (e.g. +1<PHONE_NUMBER>)

Flow 2:

Open concierge chat in NewDot
Click the call icon on the top right
Input a phone number as login using any of symbols -, (, ) or spaces (e.g. +1<PHONE_NUMBER>)

Expected Result:
The user should be able to sign in or request a call from concierge just fine . The number input by the user should be cleaned before being sent to the back-end, stripping -, (, ) and spaces.
Actual Result:
We get validation errors

## Platform:

Where is this issue occurring?
ALL
Version Number:
Reproducible in staging?:
Reproducible in production?:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/183582#
Issue reported by:
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @sakluger (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Upwork Job posted. cc @aldo-expensify in case you want to snag this, auto-assigning via Exported tag now.
https://www.upwork.com/jobs/~01e3a9fa28fc98c96a

Triggered auto assignment to @chiragsalian (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

After following the code, I see that the main issue is the regex that is used to validate the phone number.
Because you are using the expensify-common git repo for validation you will either have to change the code directly in the repo or add a custom regex to your project (for this specific case only). I would suggest changing the code on expensify-common (I see it's the same company name so I guess you have access), because this will improve future use.
The function that you are using for validation can be found in expensify-common/lib/str.js 921
This uses the regex found in expensify-common/lib/CONST.jsx 518
This can be improved, I have a regex that will solve it but I need to know are you restricting the users to follow a country specific phone pattern, would you allow users to not put in spaces, parenthesis and a plus sign or do they have to?
If you provide some more details about what kind of patterns would you allow, I am more than happy to solve the issue for you.

@mallenexpensify I added this as a feature @mountiny do you have any comments?
If we want to remove it.
Proposal
Just revert this commit here https://github.com/Expensify/App/commit/500ba78f4e31c346e731dd64cc29001249a3dcfb.

@parasharrajat is right, this has been introduced when we wanted to unify the error messages in this PR https://github.com/Expensify/App/pull/5864.
We should be able to just revert the commit Rajat mentioned to allow the (, ) and - characters.

Sorry, @mountiny for tagging you. I didn't correctly see the issue. We want to add it not remove it so I have updated the proposal. Now we want to extend that change and allow spaces as well.

Proposal
I had changed the phone number regex in the company VBA flow. I would want to change the validation check to isValidPhoneWithSpecialChars in LoginForm.validateAndSubmitForm
if (!Str.isValidEmail(this.state.login) && !isValidPhoneWithSpecialChars(this.state.login)) { // updated func here
            if (isNumericWithSpecialChars(this.state.login)) {

We are placing all non-critical issues on hold while we're on a company offsite.  The hold is expected to be lifted on 11/19 (but could go longer).  For any PRs that are submitted during the hold, we will add a $250 bonus payment.

I'm going to go with @parasharrajat because he captured the importance of replacing the character values as well before sending it to the backend. If we send the characters to the backend I'm pretty sure it will error out.
As for your 1 and 2 proposal choices @parasharrajat. I think 1 would be easier and cleaner. I don't mind solution 2 but in my limited testing CONST.REGEX.PHONE_WITH_SPECIAL_CHARS or isValidPhoneWithSpecialChars didn't work as well as I expected. For example, take this number without special characters +15857527441, with special characters it would be +1<PHONE_NUMBER> and the regex fails and the length checks in  isValidPhoneWithSpecialChars also fail for it. Something to keep in mind if you want to pursue solution 2.
Anyway feel free to create a PR @parasharrajat and @mallenexpensify feel free to hire Rajath in Upwork.

@parasharrajat , can you apply here please? https://www.upwork.com/jobs/~01e3a9fa28fc98c96a

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.16-10 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/6293

If no regressions arise, payment will be issued on 2021-12-06. :confetti_ball:

Ping for

@mallenexpensify

@parasharrajat Can you accept the offer here please and confirm when you have?
https://www.upwork.com/jobs/~01b50ba5b54d346056

Accepted it @mallenexpensify

Paid @parasharrajat $250 for the job and $250 for company offsite hold bonus.
Thanks!


Begin componentShouldUpdate implementations.

Starting with simple components:

Icon
DropDown
LogGroupListItem
NavPanelGroupItem
HighlightedText

Ended up optimising the entire app. Changes made in this commit.


[feature request] support point clouds already present in KG

for detail, see: https://github.com/FZJ-INM1-BDA/siibra-explorer/issues/942

The issue #322 now tracks this.


Cookie split renewal

Hello there,
I just discovered the split cookie approach which I found very interesting, and I wanted to give it a try with this bundle.
I just have one question: the author says:

Unless the user takes an action (thereby resulting in an API call and a new header.payload cookie with a new expiry), their header.payload cookie will expire and they will be no longer authenticated.

From what I observed, the access token here is only issued when the user exchanges their credentials (i.e. POST /api/login_check), and not upon every API request. Is that intended, or is there something I missed to enable that?
Thanks!
Ben
PS: Would you consider opening the "Discussions" panel on that repository so that my questions don't pollute the actual "Issues"? 😅

Hello, from my understanding of it: the signature cookie should not get expiration, so it becomes a "session cookie" and will be destroyed when the browser closes.
So that's the other cookie (header+payload) with a 30min lifetime that will be responsible of logging the user out in case of inactivity.
In case of activity, the cookie expiration should be increased. 2 ways to do it:

the backend send the same cookie again with a new expiration. I fell like it was the idea behind the article you mentionned but since the tokens aren't stored I dont get how
the frontend could listen for successfull calls to the backend and increase the cookie lifetime (since this cookie it is not a httponly one)

The frontend could also trigger a prompt if the cookie lifetime expired.

Yes, the signature cookie should be a "session" cookie, httpOnly. But I assume that when the other cookie gets renewed, the signature cookie has to be renewed as well, otherwise signature won't match on the next API call.
When Peter Locke says

Unless the user takes an action (thereby resulting in an API call and a new header.payload cookie with a new expiry), their header.payload cookie will expire and they will be no longer authenticated.

I assumed that every subsequent API request (not especially login-related) would result in the renewal of both cookies, so that's what I expected when trying the split-cookie feature from this bundle.
OTOH issuing a new token upon each request is a costly operation that would burn the server down, wouldn't it?
How about exposing a dedicated entrypoint instead (which could still be the same route, i.e. /api/login_check), that the front-end would periodically hit in the background, with an empty payload (just cookies), which would read the existing JWT as input and issue a new one through the 2 cookies?

I assume that when the other cookie gets renewed, the signature cookie has to be renewed as well, otherwise signature won't match on the next API call (because iat / exp would change the payload).

I'm not sure about this. The token ttl was put to 24h in the article, so the iat / exp would be valid during the whole user activity. By renewing the cookie with the frontend, you only increase the hp cookie lifetime, without modifying the token ttl, iat or exp. So the signature won't change. If the backend renews it, it could just send the exact same cookie back, except for its lifetime that would be increased. Therefore, no costly operation would be triggered.
But... with the backend cookie renewal approach, I can't see how we can benefit from the cache layer anymore: any response becomes user specific because it includes the setCookie http header.

Oh, that's awesome!
Having the token expiring way later (24h) wasn't something I had in mind - I didn't pay enough attention about that information in the article.
Regarding cache - I'm not 100% familiar with this (especially for private resources). I assume cache proxies systematically serve MISS responses as soon as a Set-Cookie header is encountered (at least I hope so 😅).
How about exposing a dedicated endpoint to renew the cookie's expiration, so that it's not sent upon every request (hence cache could still be leveraged, I assume), that would allow the front-end to anticipate by periodically calling it in the background?

Indeed, it will serve MISS but it's easy to config a Varnish to avoid this behaviour by ignoring these 2 cookies. So the cache layer is still an option. But if the cookie is also returned for every request, the cache response has to be completed with a Set-Cookie (still possible but harder and a bit slower in my opinion).
Concerning the renewal endpoint, its job would only be to renew the cookie expiration right? If so I would rather keep that job in the frontend. It avoids the need to make a request.
My current approach is to intercept all api calls in JS and, if the user still got both cookies AND the response status is a 2XX, then I can increase the cookie lifetime.

Didn't think about that - sounds very good 🙂
Thanks a lot for your explanations! 🍻


Update faq.yml

vSAN is always thin, even when a storage policy is set to object space reservation of 100%.  Data is not consumed until it is written.  However with OSR enabled, it does "reserve" the space on the capacity tab for data management purposes and will not allow you to provision more if you have OSR's that exceed your capacity.

#label:"aq-pr-triaged"


Simulation starts and then gets stuck after a few iterations with an error. "invalid memory address or nil pointer dereference"

Describe the bug
A clear and concise description of what the bug is.
Simulation gets stuck with error after a few iterations. It starts for a min and then gets stuck no matter how many iterations I set it to. I'm getting an error that says "invalid memory address or nil pointer dereference".
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Sim Links and Screenshots
If applicable, add links to your sim settings or screenshots to help explain your problem.
https://wowsims.github.io/cata/mage/fire/#eJzlVUtsTFEYvv85d6Zn/rbc+VW1B6lOMyI32t650wkayQxCygYRUhuUEhGRxkSksalHvZYkQjfCyiNBJrHQRDQSKanXShp2TYjEKyyoDc65j2aMdxAL/+Kc//zvxzd3MCnAghxshi44CHAc4AzAAMAwwFOAHgYHGVxiMN/URmTIt5V9PLpsa0f3xu2i3OKyA7l1Zi6a1psBrs79x7gSXGxX7OuXHKPWUF0CDCyzPu4xNRO17jXpm1vXFqtj1FKGQ3tNdR4/pv33Kt5Qd89l7t1DAzwhRMSZuMxsN+1BVgM4CsZ/StT2pyK1GvNZF/SBiQyNflbe6KaddNpx3VTqOjNuMvM+K3/IjBH2IqYmPhGFjKIpjryERAzLMNKYacrkcUIgvnCJJ5QQeWOLFkaliloTDyxdbVmFZVLpxZP2IimZkrUaNEVKtOxxIkLqpeMhm5X34l65A9/RftgdoRpZjRUSUZwGHf79Kq2xnt3g1CJdnEHTMW6P175LDOlVmHLyoWh9IHIzybA52iW7sYu24Vba4pmZXlbfc1Yep9qTlWfFdYgRs3TCC53S6yftKMKKQpECKwuA3ssUZx8xHFeAcu8ZUVOYBhgrQNCj9EunAyD3Ae6ibtxJO76WvtaeJDjF+sccBSrOG/A3K0v9uLIvK+mS23AjbcAOWhtO66fGkMr86hjCjOvkGlxJK3A5LfUy8qKV/V57YYaZ0sZ6qsPYEa67ff6OIdlWgA1xjvnwDFBKzbIRG6geK0fM4uoDJC4JkJjxkag0PhITJUgU5/dHqE6AnFyKw7STD386tFgZLAy7DlHZ4iT3QLOKdHSNLMLxGGidZOmcXCdfivrWMYjnS+PPcTzUW9dOMkrL1JhX9LOApV4p5aXbe9xMnXI9ttEinGDHg8a8hWSa9L6SdoMCb1WBxQWQ2BIMSfJ+MzBzPDPhBppENX7VmBbKBdhKs0vbV3Vgg10fJK4tsGrt2uctsRfCdfb68OoFmqo2ULRt33DfJOlfFJP+52nYeso6d3P/E9mSOxVwq3OHuZG4y9og5r17NuXivqYqV9t3QtOt7Bxfcj9bv8mjB9l5d25rep51j7Jp7TUR+x//cc04lPsbYXs6B38Y1x/O1Ve5ef57NLsOPgHBfv20
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@dmyates5 This is a known issue regarding the Magmaw encounter and Dot spreading. Best for now to not use it.

Actually, it looks like your equip is corrupt? The link you sent shows no gear equipped and broken talents. Did you export using the Weakaura or a outdated WSE addon?

I’m using the WSE addon. I just installed the addon yesterday so it should be updated.

@dmyates5 Good to know. Do the items show up in your interface?
This is what I see with your link

Yes it does show up. I’m unable to take a screenshot of it right now bc I’m at work, but it did show my gear.

I was finally able to take a snip of my gear.

@dmyates5 This is not for Cata is it? This looks like gear for SOD?

No this is Cata. I don't play SOD.

@dmyates5 I am actually not sure we support that. The Sim is intended for endgame simming, so lvl 85 and Heroic dungeons/Raids.

We dont support levels lower then cap.


Add SpaceX logo

Problem

SpaceX (https://www.spacex.com/)
will soon be added as a source of images for CC Search, so we need to set up a logo in the front end for the collections page.

Where should we get the SpaceX logo from?

@abhisheknaiidu https://en.wikipedia.org/wiki/File:SpaceX_logo.svg

The source identifier will be spacex

Done in #1022.


[customhelp] fix when command help docstring exceeds 1024 chars

Hi, as we discussed, here's my PR as title says!
Please let me know your review!

Nice catch, thanks for the PR


Possible security issue with REST exceptions

When exceptions are thrown using the framework as a REST API there is a 'type' property returned in the json which is the namespace of the exception that was thrown. This path gives away information that the framework being used is Yii. For example, calling an endpoint that doesn't exist returns a 404 error the following JSON:
{
    "name": "Not Found",
    "message": "Page not found.",
    "code": 0,
    "status": 404,
    "type": "yii\web\NotFoundHttpException"
}

While not specifically a security hole, someone looking for vulnerabilities in the server now can assume based on that path the sever is using Yii and plan their attack with this head start.
Is there a specific reason this information is returned? Or is there a specific way to toggle it off? Perhaps this information should only be returned if YII_DEBUG is true?
My temporary fix (not thoroughly tested) for this is to change my config to the following:
'response' => [
    'format' => yii\web\Response::FORMAT_JSON,
    'on beforeSend' => function($event) {
        $response = $event->sender;
        if ($response->data !== null && $response->isSuccessful === false) {
            unset($response->data['type']);
        }
    }
],

Which works but doesn't seem like the best solution due to it running on every response.

There are tons of ways one could determine the framework used is Yii: CSRF meta, forms, scripts etc. I don't think it's a security issue since security through obscurity doesn't work anyway.

This information is only returned if YII_DEBUG is true. I would not recommend to use the debug mode on a productive server.

Oh, YII_DEBUG is absolutely no go for production.


Support publishing maven packages to GitHub packages

This could be done by adding parallel options, but I think it makes the most sense to just add additional options that also apply to maven central with sensible defaults.

MAVEN_SERVER_ID : used in maven settings for credential lookup, defaults to ossrh
MAVEN_REPOSITORY_URL: used as the deployment repository. Not used for maven central

MAVEN_STAGING_PROFILE_ID would no longer be required when not using maven central
Signing is also not required for other repositories.
I don't believe the nexus staging plugin works for non-nexus base repositories, but I'm not very familiar with it.
I believe you can deploy to nexus without using it, but it's probably safer to have an alternate code flow that just uses the default maven deploy plugin.
This method should also make it possible to support CodeArtifact as was requested in #10

I'm happy to help once the direction is agreed upon, although most of my experience with publishing Java packages is with gradle.

Sounds like a reasonable direction


Library and config files should be 2 different binds

The docker compose example recommends binding your library to

/path/to/your/libraries:/libraries

We should be able to separate container files from our 3d model libraries such as:

/volume1/docker/van_dam/config/:config
/volume1/media/3dmodels/:libraries

I don't think there's anything stored on disk for config, it's all in the database and environment variables? But I was thinking of changing the compose example to use sqlite, so that would need a separate place, certainly.


Redirect to Custom URL Scheme

Prerequisites

[X] Can you reproduce the problem in a MWE?
[X] Are you running the latest version of AngleSharp?
[X] Did you check the FAQs to see if that helps you?
[X] Are you reporting to the correct repository? (there are multiple AngleSharp libraries, e.g., AngleSharp.Css for CSS support)
[X] Did you perform a search in the issues?

Description
I want get URL from Location header.
But Custom URL Scheme does not supported.
Steps to Reproduce

Create a PHP file

index.php
<?php
// Custom URL Scheme
header('Location: myphotoapp:/oauth?param=123');

// This is fine.
// header('Location: http://<IP_ADDRESS>/a');

Run local PHP server

php -S <IP_ADDRESS>:80

Create a C# file

Program.cs
var handler = new HttpClientHandler();
handler.AllowAutoRedirect = true;

var url = "http://<IP_ADDRESS>";

var config = AngleSharp.Configuration.Default
  .WithDefaultLoader()
  .WithRequesters(handler);
var context = BrowsingContext.New(config);
var page = await context.OpenAsync(url);

Console.WriteLine(context.Active!.Url);
Console.WriteLine(page.Location);

Run C# code

dotnet run

Expected Behavior
myphotoapp:/oauth?param=123
Actual Behavior
http://<IP_ADDRESS>/
Possible Solution / Known Workarounds
No response

Just use an interceptor and read out the response.
See Filter property on the loader configuration.

Thank you for answer.
I finally got Location with bellow code.
But always twice HTTP request.
Do you have any good ideas for solve this issues?
 var handler = new HttpClientHandler();
 handler.AllowAutoRedirect = false;

+ var client = new HttpClient(handler);

 var url = "http://<IP_ADDRESS>";

 var lastUrl = string.Empty;
 var config = AngleSharp.Configuration.Default
   .WithRequesters(handler)
+  .WithDefaultLoader(new LoaderOptions
+  {
+    Filter = req =>
+    {
+      var response = client.GetAsync(req.Address).GetAwaiter().GetResult();
+      Console.WriteLine($"Location: {response.Headers.Location}");
+      return true;
+    }
+  })
  .WithRequesters(handler);
 var context = BrowsingContext.New(config);
 var page = await context.OpenAsync(url).ConfigureAwait(false);


modulesync 1.9.6; update all dependencies

modulesync 1.9.6

Requires some releases...

puppetlabs/java_ks https://tickets.puppetlabs.com/browse/MODULES-7745
puppetlabs/mysql https://tickets.puppetlabs.com/browse/MODULES-7747
puppetlabs/postgresql https://tickets.puppetlabs.com/browse/MODULES-7744

currently waiting for the mysql release


Escape non-printable unicode characters

Playground
Input:
print("\u0001");

Current Result:
print("")

Expected Result:
print("\1")

Related:

C0 and C1 control codes
Non-printable ASCII characters

FYI - found a case where this actually breaks.
Control character 0x1A (substitute) breaks lua parsing in windows. It fails in lua 5.1, 5.2, and 5.3, but not in luajit or any version on linux.
const c = "\x1A";

c = "" --unfinished string near '<eof>'

Okay so seems the biggest problem now is that instead of the escape sequence, the output Lua actually contains the unicode character (like the original issue states). This is something we should definitely resolve.
Secondly, I don't think it would be a bad idea to add a warning for cases 1 and 2 where the user is trying to use a unicode pattern that is probably going to work. I don't think we should fail compilation on this with an error.
The length discrepancy is something that I honestly don't really care about, and which sounds like a huge pain to actually resolve, so I would propose to indeed just add that to the docs as a caveat.
Keeping the caveats page in the docs up to date is always good :)


Sample coding style

Is it the case that selectively mixing wide call and ANSI calls requires less traits to be implemented which then shortens the code listings? Or is it because the crate is still a work in progress and at some point in the future, it will be easy to have either all wide or all ANSI calls?

Hey @MRahilly, can you maybe elaborate a bit more on this? I'm not exactly following. I think your question is: Why does the crate contain both -A and -W API variants?

I am happy with the need for -A and -W API call variants. I was wondering why many of the samples have mixed -A and -W calls when I would have expected samples to favor either one or the other. I am thinking of Win32 samples which typically use all -W calls except where occasionally necessary such as dealing with multi byte character sets.

@MRahilly Oh I understand now. In a sample, we're typically showcasing a particular pattern or feature and want to reduce the supporting code to a bare minimum. This may involve using simpler API variants in some spots.
On the topic of A variant APIs -- they are making a comeback! They are now used in Windows to support UTF-8 character encoding https://docs.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page?WT.mc_id=WD-MVP-5002756 which could simplify Rust/Windows interop in some cases.
If you see a sample that you feel is particularly misrepresentative of the real world, or just bugs you, feel free to open a new issue. Thanks!

@MRahilly Oh I understand now. In a sample, we're typically showcasing a particular pattern or feature and want to reduce the supporting code to a bare minimum. This may involve using simpler API variants in some spots.

That suggests a small note for beginners - "How to choose the -A or the -W variant to reduce lines of code".


Clean up as well as speed up the ILP extractor.

The ILP extractor is really bad. It's more than 100 times slower than the bottom_up extractor and produces results that are only about 60% as good as it.  This patch is a start to addressing the problem.  It improves the encoding sent to coin-or cbc and makes the logic clearer.
It's now about 30% faster and produces nearly the same results as previously.
Previously:
cumulative time for bottom_up: 3209ms
cumulative time for ilp_cbc: 402724ms
bottom_up / ilp_cbc
geo mean
tree: 0.5667
dag: 0.6615
micros: 0.0131
quantiles
tree:   0.0605, 0.4844, 0.5313, 0.6642, 1.0000
dag:    0.0976, 0.5708, 0.6330, 0.7702, 1.2106
micros: 0.0001, 0.0093, 0.0157, 0.0214, 0.1406

Now:
cumulative time for bottom-up: 3194ms
cumulative time for ilp_cbc: 283199ms
bottom-up / ilp_cbc
geo mean
tree: 0.5734
dag: 0.6673
micros: 0.0208
quantiles
tree:   0.0604, 0.4878, 0.5394, 0.6740, 1.0000
dag:    0.0976, 0.5751, 0.6366, 0.7717, 1.2106
micros: 0.0001, 0.0142, 0.0238, 0.0348, 0.1298

I agree, the ILP extractor needs a lot of work. Thanks for the PR.


ensure the concurrency gate is present for all variations of OperationQueue (irregardless of the queue width)

Testing with malloc scribble, guard edges, and guard malloc revealed this failure on Darwin builds. Evidently it alters the timing enough to show the race on un-gated operations

@swift-ci Please test


Implement the ListResponse in the C++ message processor for at least INVOKE

Implement the INVOKE action for list responses

tested and working


[bug] react example on compile giving warnings

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
0.4.1
wagmi Version
0.5.3
Current Behavior
Downloaded the react examples code and complied.
Getting lots of warnings on compiling yarn start

Expected Behavior
No response
Steps To Reproduce
node version - v16.14.2
node version - 8.5.0
git download - https://github.com/rainbow-me/rainbowkit/tree/main/examples/with-create-react-app
yarn
yarn start

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
No response
Anything else?
No response

These warnings are a known issue for create-react-app users, not something that we can control: https://github.com/facebook/create-react-app/discussions/11767.
The build is still completing successfully though so it seems you can safely ignore them.


[Service] Finish Docs

Remaining Docs

[ ] Diving
[ ] Advanced Trucker
[ ] GoPostal
[ ] Basic Trucker


Better HTTP status codes for board join requests

Currently, the backend returns the 403 code for multiple occasions:

User tries to connect to a protected board the first time (without a password)
User tries to connect to a protected board with the wrong password
User is banned from a session

We should have different status codes for these cases, so that we can handle them better in the frontend. Right now, to check if a user is banned, we need to match the whole error string, which is not ideal imo.

I think semantically, 401 is the most fitting status code for the first and second use case.
Maybe one could use the realm attribute defined in the WWW specs to further clarify which is which.
As for banning users, 403 should be the correct one, because the user doesn't have the wrong credentials, but is explicitly disallowed in that session :)

I think semantically, 401 is the most fitting status code for the first and second use case. Maybe one could use the realm attribute defined in the WWW specs to further distinct the two.
As for banning users, 403 should be the correct one, because the user doesn't have the wrong credentials, but is explicitly disallowed in that session :)

Although the 401 status code says unauthorized, semantically this response means unauthenticated. Therefore, it is not semantically correct to use it. @Schwehn42

Closed because it's a duplicate of #3940


FLUTTER WEB SCROLL ISSUE (Not work smooth scroll)

This smooth_scroll_web is not 100% proper solution because if we use it so, we have to set property NeverScrollPhysics() and it's prevent scrolling for touchpad TABLET and LAPTOP (scroll by fingers)
https://pub.dev/documentation/smooth_scroll_web
and also Flutter web app work fine Desktop and laptop's browser, but performance is slow for Mobile Browsers(Chrome/Safari) etc....
why flutter web build not work on Mobile's Browser (low perfomance) like others website (like which made by HTML,CSS,React,Bootstrap, JS)
above issue from Flutter SDK or other issue??????

possibly related to

https://github.com/flutter/flutter/issues/32120
https://github.com/flutter/flutter/issues/35687
https://github.com/flutter/flutter/issues/35723
https://github.com/flutter/flutter/issues/91788

Hi @insysinfo, the package you're referring to hasn't been updated in over 2 years. You most likely should not be using it in your project.
If there are any specific issues that you are facing on flutter web, kindly file issues and provide detailed information as to how to reproduce them so that we can fix them.
There isn't much information here, so I'll be closing this issue.
Please do not hesitate to file specific issues within the framework that you experience so that we can investigate and fix them.
Thank you


Specifying a _count greater than Max should return OperationOutcome inside search Bundle instead of a BadRequest

Describe the bug
Currently when specifying a _count greating than the max will result in a 400 and return an OperationOutcome. We should continue the search and put this OperationOutcome message and into the Bundle that is returned to specify that less results have been returned than requested.
To Reproduce
Steps to reproduce the behavior:

Specify ?_count=1000

Expected behavior
Search Bundle is returned that includes the OperationOutcome message
Actual behavior
Status code 400 with OperationOutcome

AB#76267


qcorr: fixed_QM_inputs do not copy over the gen description at end of file

I used aqme --qprep --gen_atoms to create input files that have the basis set definition at the end of the file. Some of the files had errors (job timed out), but the aqme --qcorr doesn't copt over the gen information in the new input files.. Is there a way to fix this, or do I just need to include the --gen_atoms --bs_gen --bs_nogen options when I run qcorr?

All the QPREP options also work in QCORR. Since Gaussian doesn't keep the gen(ecp) information (i.e., which atoms use basis set 1 and basis set 2), I'd suggest you copy the --gen_atoms, --bs_gen and --bs_nogen options used in QPREP and use them with qcorr as well.


sf org list, sf alias list for console

implement them as console commands

alias
org

just for showing shell output:
sf alias list
sf org list

done #154


poor resize performance in php as compared to vipsthumbnail tool

Hi John,
vips-8.9.2-Tue Apr 21 09:26:11 UTC 2020

PHP 7.4.6 (cli) (built: May 14 2020 10:03:28) ( NTS )

php-vips-ext 1.0.10

Debian buster
Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz

test image
19M in size

jpg.jpg: 8644x8444 uchar, 3 bands, srgb, jpegload
width: 8644
height: 8444
bands: 3
format: uchar
coding: none
interpretation: srgb
xoffset: 0
yoffset: 0
xres: 11.811
yres: 11.811
filename: jpg.jpg
vips-loader: jpegload
jpeg-multiscan: 0
jpeg-chroma-subsample: 4:2:0

<?php

$image = vips_image_new_from_file('jpg.jpg')['out'];

$args = ['height' => 521, 'size' => 'force', 'no-rotate' => true];

$result = vips_call("thumbnail_image", $image, 8572, $args)['out'];
vips_image_write_to_file($result, __DIR__. '/1.jpg');

time php bechmark.php jpg in php cli mode

php-vips-ext init
enabling vips leak testing ...
vips_image_new_from_file:
vips_image_new_from_file: name = jpg.jpg
vips_php_call_array:
vips_php_call_new: VipsForeignLoadJpegFile
    option_string = "", argc = 1
vips_php_call_array: analyzing input args ...
vips_php_call_array: setting args from option_string ...
vips_php_call_array: setting required input args ...
    VipsForeignLoadJpegFile.filename = "jpg.jpg"
vips_php_call_array: testing argc ...
vips_php_call_array: setting optional input args ...
vips_php_call_array: building ...
vips_php_call_array: getting required output ...
    VipsForeignLoadJpegFile.out = ((VipsImage*) 0x563454aa1020)
vips_php_call_array: getting optional output ...
vips_php_call_free:
vips_php_call_array: success!
vips_call:
vips_php_call_array:
vips_php_call_new: thumbnail_image
    option_string = "", argc = 2
vips_php_call_array: analyzing input args ...
vips_php_call_array: setting args from option_string ...
vips_php_call_array: setting required input args ...
    thumbnail_image.in = ((VipsImage*) 0x563454aa1020)
    thumbnail_image.width = 8572
vips_php_call_array: testing argc ...
vips_php_call_array: setting optional input args ...
vips_php_set_optional_input:
    thumbnail_image.height = 521
    thumbnail_image.size = ((VipsSize) VIPS_SIZE_FORCE)
    thumbnail_image.no-rotate = TRUE
vips_php_call_array: building ...
vips_php_call_array: getting required output ...
    thumbnail_image.out = ((VipsImage*) 0x563454ab7650)
vips_php_call_array: getting optional output ...
vips_php_get_optional_output:
vips_php_call_free:
vips_php_call_array: success!
vips_image_write_to_file:
	0x563454ab7650 -> /var/www/samples-api/tests/1.jpg
vips_php_call_array:
vips_php_call_new: VipsForeignSaveJpegFile
    option_string = "", argc = 1
vips_php_call_array: analyzing input args ...
vips_php_call_array: setting args from option_string ...
vips_php_call_array: setting required input args ...
    VipsForeignSaveJpegFile.in = ((VipsImage*) 0x563454ab7650)
    VipsForeignSaveJpegFile.filename = "php.jpg"
vips_php_call_array: testing argc ...
vips_php_call_array: setting optional input args ...
vips_php_call_array: building ...
vips_php_call_array: getting required output ...
vips_php_call_array: getting optional output ...
vips_php_call_free:
vips_php_call_array: success!
php_free_gobject: 0x563454ab7650
php_free_gobject: 0x563454aa1020
php-vips-ext shutdown
memory: high-water mark 59.73 MB

real	0m17.968s
user	0m14.443s
sys	0m21.947s

time vipsthumbnail --vips-leak --vips-progress jpg.jpg -s 8572x521!
vipsthumbnail temp-23: 8572 x 521 pixels, 8 threads, 128 x 128 tiles, 256 lines in buffer
vipsthumbnail temp-23: done in 0.465s
memory: high-water mark 94.07 MB

real	0m0.515s
user	0m0.551s
sys	0m0.057s

679K php.jpg
679K tn_jpg.jpg

php.jpg: 8572x521 uchar, 3 bands, srgb, jpegload
php.jpg: width: 8572
php.jpg: height: 521
php.jpg: bands: 3
php.jpg: format: uchar
php.jpg: coding: none
php.jpg: interpretation: srgb
php.jpg: xoffset: 0
php.jpg: yoffset: 0
php.jpg: xres: 11.811
php.jpg: yres: 11.811
php.jpg: filename: php.jpg
php.jpg: vips-loader: jpegload
php.jpg: jpeg-multiscan: 0
php.jpg: jpeg-chroma-subsample: 4:2:0
php.jpg: exif-data: 186 bytes of binary data
php.jpg: resolution-unit: in
php.jpg: exif-ifd0-Orientation: 1 (Top-left, Short, 1 components, 2 bytes)
php.jpg: exif-ifd0-XResolution: 300000/1000 (300.000, Rational, 1 components, 8 bytes)
php.jpg: exif-ifd0-YResolution: 300000/1000 (300.000, Rational, 1 components, 8 bytes)
php.jpg: exif-ifd0-ResolutionUnit: 2 (Inch, Short, 1 components, 2 bytes)
php.jpg: exif-ifd0-YCbCrPositioning: 1 (Centered, Short, 1 components, 2 bytes)
php.jpg: exif-ifd2-ExifVersion: Exif Version 2.1 (Exif Version 2.1, Undefined, 4 components, 4 bytes)
php.jpg: exif-ifd2-ComponentsConfiguration: Y Cb Cr - (Y Cb Cr -, Undefined, 4 components, 4 bytes)
php.jpg: exif-ifd2-FlashPixVersion: FlashPix Version 1.0 (FlashPix Version 1.0, Undefined, 4 components, 4 bytes)
php.jpg: exif-ifd2-ColorSpace: 65535 (Internal error (unknown value 65535), Short, 1 components, 2 bytes)
php.jpg: exif-ifd2-PixelXDimension: 8572 (8572, Long, 1 components, 4 bytes)
php.jpg: exif-ifd2-PixelYDimension: 521 (521, Long, 1 components, 4 bytes)
php.jpg: orientation: 1

tn_jpg.jpg: 8572x521 uchar, 3 bands, srgb, jpegload
tn_jpg.jpg: width: 8572
tn_jpg.jpg: height: 521
tn_jpg.jpg: bands: 3
tn_jpg.jpg: format: uchar
tn_jpg.jpg: coding: none
tn_jpg.jpg: interpretation: srgb
tn_jpg.jpg: xoffset: 0
tn_jpg.jpg: yoffset: 0
tn_jpg.jpg: xres: 11.811
tn_jpg.jpg: yres: 11.811
tn_jpg.jpg: filename: tn_jpg.jpg
tn_jpg.jpg: vips-loader: jpegload
tn_jpg.jpg: jpeg-multiscan: 0
tn_jpg.jpg: jpeg-chroma-subsample: 4:2:0
tn_jpg.jpg: exif-data: 186 bytes of binary data
tn_jpg.jpg: resolution-unit: in
tn_jpg.jpg: exif-ifd0-Orientation: 1 (Top-left, Short, 1 components, 2 bytes)
tn_jpg.jpg: exif-ifd0-XResolution: 300000/1000 (300.000, Rational, 1 components, 8 bytes)
tn_jpg.jpg: exif-ifd0-YResolution: 300000/1000 (300.000, Rational, 1 components, 8 bytes)
tn_jpg.jpg: exif-ifd0-ResolutionUnit: 2 (Inch, Short, 1 components, 2 bytes)
tn_jpg.jpg: exif-ifd0-YCbCrPositioning: 1 (Centered, Short, 1 components, 2 bytes)
tn_jpg.jpg: exif-ifd2-ExifVersion: Exif Version 2.1 (Exif Version 2.1, Undefined, 4 components, 4 bytes)
tn_jpg.jpg: exif-ifd2-ComponentsConfiguration: Y Cb Cr - (Y Cb Cr -, Undefined, 4 components, 4 bytes)
tn_jpg.jpg: exif-ifd2-FlashPixVersion: FlashPix Version 1.0 (FlashPix Version 1.0, Undefined, 4 components, 4 bytes)
tn_jpg.jpg: exif-ifd2-ColorSpace: 65535 (Internal error (unknown value 65535), Short, 1 components, 2 bytes)
tn_jpg.jpg: exif-ifd2-PixelXDimension: 8572 (8572, Long, 1 components, 4 bytes)
tn_jpg.jpg: exif-ifd2-PixelYDimension: 521 (521, Long, 1 components, 4 bytes)
tn_jpg.jpg: orientation: 1

please let me know if you need more info.

Hello @wppd,
Don't use thumbnail_image! It's incredibly slow since it can't explot any of the shrink-on-load tricks that make thumbnailing fast. It's only there for emergencies.
Use thumbnail instead, something like (untested):
$args = ['height' => 521, 'size' => 'force', 'no-rotate' => true];
$image = vips_call('thumbnail', 'jpg.jpg', 8572, $args)['out'];

I would use php-vips rather than php-vips-ext, but of course that's your choice.

thanks for your fast reply.
indeed, it's as fastest as about vipsthumbnail now.
I just tested it with thumbnail_buffer, I think it supports shrink-on-load feature too.
btw, second argument should be null
vips_call('thumbnail', null, 'jpg.jpg', 8572, $args)['out'];

Yes, thumbnail_buffer is quick too. 8.9 has thumbnail_source as well, but that's not supported in PHP yet.


Enable boot diagnostics on RP nodes

Which issue this PR addresses:
Fixes 8667332.
What this PR does / why we need it:
The RP ARM template is updated to enable boot diagnostics on the RP nodes. A new
storage account is also created to store the bootstrap logs.
This allows us to capture error logs from the serial console that may be useful in
diagnosing bootstrap errors.
For each node in the vmss, a new container is automatically created in the storage
account to store the boot logs of that node. On starting/restarting the nodes, only the
latest bootstrap logs are kept. (This doesn't look configurable AFAICT.)
Test plan for issue:
The trim down ARM template used for testing is attached to the task.
The following are the test commands used to verify the new resources:
# confirm the vmss is healthy
$ az vmss show -n [vmss] -g [rg] --query provisioningState -otsv
Succeeded

# check the boot diagnostic storage account container endpoints of
# each instance
$ for i in {0..2}; do \
  az vmss get-instance-view -n [vmss] -g [rg] --instance-id $i \
       --query bootDiagnostics.serialConsoleLogBlobUri -otsv \
done
https://[storage].blob.core.windows.net/[container0]/[log-file]
https://[storage].blob.core.windows.net/[container1]/[og-file]
https://[storage].blob.core.windows.net/[container2]/[log-file]

# ensure the storage account is created
$ az storage account show -n [storage] --query statusOfPrimary -otsv
available

# make sure storage account isn't publicly accessible
curl https://[storage].blob.core.windows.net/[container0]/[log-file]
<?xml version="1.0" encoding="utf-8"?><Error>ResourceNotFound<Message>The specified resource does not exist.
RequestId: foo-bar
Time:2020-11-06T00:22:33.2197323Z</Message></Error>%

The serial logs can be verified in the Azure portal.
Is there any documentation that needs to be updated for this PR?


Fixed broken tests, working on implementing .tmc.json course file

Coverage decreased (-0.7%) to 74.238% when pulling a5c4a527e79bdbb7a38dba941d3c2dc8b4dc0e47 on jclc-courseinfo into ebb590bee98495bbdab4e7e2e4bff942b06874d5 on master.

Coverage decreased (-0.8%) to 74.167% when pulling 59db7f291b661ff135b3173b2c3ed8b6b6d4a170 on jclc-courseinfo into ebb590bee98495bbdab4e7e2e4bff942b06874d5 on master.

LGTM

Coverage decreased (-1.1%) to 73.815% when pulling 5ebf28ee6edc72e0e90555326f2eaa6c5367a1e3 on jclc-courseinfo into ebb590bee98495bbdab4e7e2e4bff942b06874d5 on master.


3rd pull request to see if the Jenkins pull request triggers fire

test this please

retest this please

Close


install failure on mac m1

Found this project via https://www.reddit.com/r/haskell/comments/p12pjs/ann_monomer_a_gui_library_for_haskell. Thank you very much!
Installing went well up to this point:
06:27:37 ~/src/GUI/monomer-starter$ stack build
...
monomer        > configure
monomer        > Configuring monomer-<IP_ADDRESS>...
monomer        > build
monomer        > Preprocessing library for monomer-<IP_ADDRESS>..
monomer        > Building library for monomer-<IP_ADDRESS>..
monomer        > [  1 of 102] Compiling Monomer.Common.BasicTypes
monomer        > [  2 of 102] Compiling Monomer.Common
monomer        > [  3 of 102] Compiling Monomer.Common.Lens
monomer        > <command line>: dlopen(/opt/homebrew/lib/libSDL2.dylib, 5): no suitable image found.  Did find:
monomer        > 	/opt/homebrew/lib/libSDL2.dylib: mach-o, but wrong architecture
monomer        > 	/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/libSDL2-2.0.0.dylib: mach-o, but wrong architecture
Progress 1/2

--  While building package monomer-<IP_ADDRESS> (scroll up to its section to see the error) using:
      /Users/simon/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-8.10.4 --builddir=.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

Not sure if it's an artifact of my machine, or a general problem for all mac m1 users.
06:27:49 ~/src/GUI/monomer-starter$ brew install sdl2
Warning: sdl2 2.0.14_1 is already installed and up-to-date.
To reinstall 2.0.14_1, run:
  brew reinstall sdl2
06:31:46 ~/src/GUI/monomer-starter$ brew list sdl2
brew list sdl2
/opt/homebrew/Cellar/sdl2/2.0.14_1/bin/sdl2-config
/opt/homebrew/Cellar/sdl2/2.0.14_1/include/SDL2/ (76 files)
/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/libSDL2-2.0.0.dylib
/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/cmake/ (2 files)
/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/pkgconfig/sdl2.pc
/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/ (4 other files)
/opt/homebrew/Cellar/sdl2/2.0.14_1/share/aclocal/sdl2.m4
06:32:02 ~/src/GUI/monomer-starter$ file /opt/homebrew/Cellar/sdl2/2.0.14_1/lib/libSDL2-2.0.0.dylib
/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/libSDL2-2.0.0.dylib: Mach-O 64-bit dynamically linked shared library arm64

Hi @simonmichael!
It looks like an issue with the architecture. I tested on an x86 Macbook Pro, but I have not been able to try it on an M1 so far.
I'll take a look if I can figure something out, but unfortunately I can't test it myself for the moment.

As soon as Stackage publishes a new version using GHC 8.10.5 (the latest 8.x branch in Stackage is 8.10.4), I'll push a branch with revised version bounds. There is a nightly with 9.0.1 too. If you, or somebody with an M1 can try it, it would be great!
I plan on getting an M1 when the new ones are released, but I don't know when that is going to happen (so, unfortunately, I'm not an option for testing this until that time).

8.10.6 was just released which should support M1 better, and fix the RTS symbol regression in 8.10.5.

I just pushed to GitHub (not Hackage) updated versions of the library and monomer-starter, pointing to the Stackage lts-18.7 version that includes GHC 8.10.6 (which, in turn, has improved M1 support).
I'm not sure if Stack supports M1 currently, but both projects now are buildable with cabal using cabal v2-build after the release of nanovg-<IP_ADDRESS> to Hackage (and the addition of the corresponding cabal.project files).

Nice, but I can't report any improvement on M1 yet. Maybe I didn't do it right, or maybe it's just a case of wait for the native code generator in 9.2.
$ stack build --ghc-options='-fllvm'
monomer        > configure
monomer        > Configuring monomer-<IP_ADDRESS>...
monomer        > build
monomer        > Preprocessing library for monomer-<IP_ADDRESS>..
monomer        > Building library for monomer-<IP_ADDRESS>..
monomer        > [  1 of 102] Compiling Monomer.Common.BasicTypes
monomer        > [  2 of 102] Compiling Monomer.Common
monomer        > [  3 of 102] Compiling Monomer.Common.Lens
monomer        > <command line>: dlopen(/opt/homebrew/lib/libSDL2.dylib, 5): no suitable image found.  Did find:
monomer        > 	/opt/homebrew/lib/libSDL2.dylib: mach-o, but wrong architecture
monomer        > 	/opt/homebrew/Cellar/sdl2/2.0.14_1/lib/libSDL2-2.0.0.dylib: mach-o, but wrong architecture
Progress 1/2

--  While building package monomer-<IP_ADDRESS> (scroll up to its section to see the error) using:
      /Users/simon/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-8.10.6 --builddir=.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

That's bad. I guess we'll have to wait a bit more for the native code generator, as you mention. Thanks!

Ya or ghc-8.10.7...

can you try with nix ? The following command builds fine with 8.10.6 on macos 10.15 (I haven't tried with M1 though)
`

nix run github:smunix/monomer/macosx.gh-actions#tutorial
`

@natsukagami nice! I think this is a great solution until 9.2 is released with the native code generator; I'll add this to the Setup page.
I will keep the issue open until 9.2, which hopefully will make the process more straightforward.
Thanks!

ghc-8.10.7 (lts-18.9) doesn't help enough, right?

@juhp I'm not sure since I don't have an M1 to test. @simonmichael reported 8.10.6 did not work for him, and I don't expect differences between those versions.

Just confirming that

no, ghc-8.10.7 doesn't make a difference.
I could not reproduce @natsukagami's success from those instructions.

Wanted to mention that you should not have the equivalent LDFLAGS provided by the aarch64 LLVM inside the x86-64 shell.
I am not sure how the MacOS linker works, but if it finds the aarch64 dylib first it will just fail instead of keep looking for the x86-64 dylib.

Hi guys,
Just to let you know, I have been able to compile and run the starter project using GHC 8.10.7 on an M1. I used Cabal for building, had LLVM installed with Homebrew and prepended this to PATH: $(brew --prefix)/opt/llvm/bin, I don't think I did anything else, but it runs without issues. I'll hack some more for a toy project and will let you know if I find any issue.
This is the output I get when I do a cabal run:
Renderer: Apple M1
Version: 4.1 Metal - 76.3

Regards

@DavSanchez hi! That's great to hear! Does it work on the M1 architecture or is it using Rosetta?

Yes, it's M1 native. The Monomer starter app (called only App) shows in activity monitor as being of Kind Apple (if using Rosetta it would say Intel)

My GHC 8.10.7 was installed using ghcup, which downloaded from https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-aarch64-apple-darwin.tar.xz (also linked here) and using ghc -v mentions loading an environment from ~/.ghc/aarch64-darwin-8.10.7/.... Not sure if I can confirm this further by inspecting the binary or something, probably yes, but I don't know how.
Best regards,
David

Nice! That's awesome. I'll keep the issue open for a bit more just in case other users want to share their experience.
Thanks for reporting!

Hey @DavSanchez. I'm trying to reproduce your setup but things are not going smoothly as in your case.
I'm trying to build monomer-starter app with cabal as you did it, but my compilation gets stuck every time on OpenGLRaw-<IP_ADDRESS>
For some reason It randomly reports that it cannot execute opt (although it's available and used to compile previous files).
Do you know what can be the case here?

Hi @DrearyLisper , I'm not sure and I'm currently away from home, but I'll try to check later.
For reference, this is the setup that is currently working for me both in Intel and M1: https://github.com/DavSanchez/hematria Note the cabal.project file at the root which references the GUI package and places a constraint on nanovg and the cabal file inside hematria-gui which defines the executable I have successfully run with cabal run hematria-gui.
Also make sure you have llvm prepended to your PATH as I commented earlier and also that you have installed both sdl2 and glew with Homebrew.

Hey @DavSanchez. Could you share which version of llvm you use? I currently have llvm@12 installed.

Update from me, with a different toolchain from before (now it's all arm binaries installed by ghcup). stack build (using ghc 8.10.7) completed successfully, with just this final warning:
...
monomer                          > Installing executable generative in /Users/simon/.stack/snapshots/aarch64-osx/defecca5bd7beb1e174cec474a367750514baa131ef8216eb5522d51dc0d6c37/8.10.7/bin
monomer                          > Registering library for monomer-<IP_ADDRESS>..
Building all executables for `monomer-starter' once. After a successful build of all of them, only specified executables will be rebuilt.
monomer-starter                  > configure (exe)
Configuring monomer-starter-<IP_ADDRESS>...
monomer-starter                  > build (exe)
Preprocessing executable 'app' for monomer-starter-<IP_ADDRESS>..
Building executable 'app' for monomer-starter-<IP_ADDRESS>..
[1 of 2] Compiling Main

<no location info>: warning: [-Wmissed-extra-shared-lib]
    dlopen(libGLEW.dylib, 0x0005): tried: '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/rts/libGLEW.dylib' (no such file), '/System/Library/Frameworks/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../haskeline-0.8.2/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../ghc-8.10.7/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../terminfo-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../process-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../hpc-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../ghci-8.10.7/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../ghc-heap-8.10.7/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../ghc-boot-8.10.7/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../exceptions-0.10.4/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../template-haskell-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../pretty-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../ghc-boot-th-8.10.7/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../stm-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../mtl-2.2.2/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../transformers-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../directory-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../unix-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../time-1.9.3/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../filepath-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../binary-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../containers-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../bytestring-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../deepseq-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../array-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../base-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../integer-gmp-<IP_ADDRESS>/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../ghc-prim-0.6.1/libGLEW.dylib' (no such file), '/Users/simon/.ghcup/ghc/8.10.7/lib/ghc-8.10.7/bin/../rts/libGLEW.dylib' (no such file), '/System/Library/Frameworks/libGLEW.dylib' (no such file), 'libGLEW.dylib' (no such file), '/usr/local/lib/libGLEW.dylib' (no such file), '/usr/lib/libGLEW.dylib' (no such file), '/Users/simon/src/GUI/monomer-starter/libGLEW.dylib' (no such file), '/usr/local/lib/libGLEW.dylib' (no such file), '/usr/lib/libGLEW.dylib' (no such file)
    It's OK if you don't want to use symbols from it directly.
    (the package DLL is loaded by the system linker
     which manages dependencies by itself).
[2 of 2] Compiling Paths_monomer_starter
Linking .stack-work/dist/aarch64-osx/Cabal-<IP_ADDRESS>/build/app/app ...

monomer-starter                  > copy/register
Installing executable app in /Users/simon/src/GUI/monomer-starter/.stack-work/install/aarch64-osx/defecca5bd7beb1e174cec474a367750514baa131ef8216eb5522d51dc0d6c37/8.10.7/bin
Completed 120 action(s).

stack run app ran the counter app successfully.  🎉

@DrearyLisper latest version, I think it's 13.
@simonmichael great to hear it's working with stack as well! I had switched to cabal because apparently stack was not using GHC for aarch64 yet (for me it was always downloading for x86-64). I'll check again. Could you add monomer as a dependency without issues? I see it's not on Stackage LTS 18.18.

@DavSanchez exactly, the different binaries cause lots of trouble, arm mac owners beware. More notes about it on reddit.

Hello jvallarino, I just came across your project - marvelous!  I'm hoping to use it to build a desktop version of https://scripta.io, the main feature of which is real-time editing of LaTeX documents - instantaneous (ha ha!, but pretty close) rendering of LaTeX to Html.  Scripta.io is written in Elm.  Alas, I'll have to wait for GHC 9.2, I guess -- I only have an M1 mac.
Anyhow, Monomer looks really, really nice, and I can't wait to use it.

Ah, Just saw @DavSanchez 's post above.  I tried the indicated configuration, but got the errors listed below.  I am running MacOS 12.5:
➜  monomer-exp git:(main) ✗ stack build
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
Already downloaded.
configure: error: in `/Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7.temp/ghc-8.10.7':
configure: error: C compiler cannot create executables
See `config.log' for more details
Received ExitFailure 77 when running
Raw command: /Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7.temp/ghc-8.10.7/configure --prefix=/Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7/
Run from: /Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7.temp/ghc-8.10.7/

Error: Error encountered while configuring GHC with
         /Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7.temp/ghc-8.10.7/configure --prefix=/Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7/
         run in /Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7.temp/ghc-8.10.7/

       The following directories may now contain files, but won't be used by stack:
         - /Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7.temp/
         - /Users/carlson/.stack/programs/x86_64-osx/ghc-8.10.7/

       For more information consider rerunning with --verbose flag

Configuring GHC ...

Could the below be the problem?
➜  monomer-exp git:(main) ✗ clang --version
Homebrew clang version 14.0.6
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin

Not sure if this will work, but given that LLVM seems to be already in your PATH, have you tried setting up LDFLAGS and CPPFLAGS as the LLVM package for Homebrew suggests? I'll try to compile it again when I get back from work.
  export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"

I tried the exports you mentioned, but the result was the same.  Regarding target, as in the below, should it perhaps be x86?
➜  monomer-exp git:(main) ✗ gcc --version
Apple clang version 13.1.6 (clang-13<IP_ADDRESS>.5)
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Another attempt!  I've installed ghc 9.2.4 on mac m1 using ghcup.  Would now like to use it to experiment with monomer.  When I do cabal build I get this:
Warning: cannot determine version of /usr/local/bin/ghc

Is there a way to configure things so that cabal knows where 9.2.4 is?

@jxxcarlson I still have not had the chance of trying to build the project on an M1, but I'll be testing on one in a couple of weeks.
An LTS version of Stackage for GHC 9.2 is not yet available (this is the version that includes a native code generator for those processors), but nightlies keep being released. I just pushed a branch for testing that uses Stackage nightly-2022-09-10. The branch name is chore/test-9.2-nightly.
I'm not sure if Homebrew's version of stack already installs an appropriate version for that processor line (it's important to avoid relying on Rosetta). If that's not the case, I think ghcup does install the correct version. In any of those cases, you should still be able to build with the standard stack build command.

Sorry for taking so long to fix (?) this issue. The latest Stackage LTS has been released; it includes GHC 9.2 which provides native support for Apple Silicon. I have been using the nightly for while and all works well.
I'll be merging the PR shortly. Thanks for the patience and please report if you find any issues!

The PR has been merged. I'll close the issue now. In case you find any problems, please re-open or create a new issue. Thanks!


Camps Inside Event counter displayed incorrectly

People are displayed as though they are in the event for some reason.
I suspect it might be looking in the wrong table somehow or perhaps using wrong event id

@ArtyomKa is it related to the ticket counter? You mentioned it was looking in the wrong column

I might be. can someone verify that the bug exists in the current version?
On Mar 4, 2018 18:14, "Alex"<EMAIL_ADDRESS>wrote:

@ArtyomKa https://github.com/artyomka is it related to the ticket
counter? You mentioned it was looking in the wrong column
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Midburn/spark/issues/681#issuecomment-370241284, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAkWjA88M7JyI4nQ5mvgenNKqtjHyE4Dks5tbBMCgaJpZM4SU75V
.

I looked into it.
Here is what I think happened:
The script extracted all tickets from drupal that belong to MIDBURN2017 and SANDBOX2017 (the array of ticket_ids is hardcoded in the script) and stored them in the spark.tickets table under event_id MIDBURN2018. This iswhay we now have MIDBURN2018 tickets that have inside_event field = 1 (they are actually 2017 or sandbox tickets)


Allow traits to require implementors to implement at least one of a set of methods

This could be used in std::cmp::PartialEq, for example, allowing implementors to implement either eq() or ne() and be provided with the other.

Whoops, this is a duplicate of #628.


Add input to allow commit messages to be customized

Add new input props to both apply-review and translate that allow users to customize the commit message of this commands.

It should be optional (default value should be added in code)
It should allow users to include file name and/or language (in case of translation) or not (Example: commitMessageTemplate: feat(*): translate file ${file} to language ${language}

Closed by #3


Update README.md - fix typo

Fix one misspelling on line 56.
Motivation

Description

Closes #issue_number
Steps to test or reproduce

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


Redirects for Visual Studio 2015 tutorials

Redirects for Visual Studio 2015 tutorials
Summary
Visual Studio 2015 topics redirect to the corresponding Visual Studio 2017 topics.
Fixes #1422
Suggested Reviewers
@mairaw

the build has warnings. can you take a look?

@mairaw A bad link, which I've fixed.

I like "retired" better. I'll update the topics.

LGTM! :shipit: