raspberrypi

I try on my raspberry but i had an error:

python -c "import lmdb; from pymamba import Database;  print(lmdb.version()); Database('test.mdb')"
(0, 9, 18)
Traceback (most recent call last):
File "", line 1, in
File "/opt/python2.7/lib/python2.7/site-packages/pymamba/init.py", line 73, in init
self._env = Environment(name, **conf)
lmdb.InvalidParameterError: test.mdb: Invalid argument
Exception AttributeError: "'Database' object has no attribute '_env'" in <bound method Database.del of <pymamba.Database object at 0x76a54d10>> ignored

Hi,
Sorry, I think you might need Python3 ... also (!) you might want to check the Pi's storage supports "sparse" storage .. if not, you probably shouldn't be trying this .. :(
Gareth Bult
Mad Penguin Consulting Ltd
Phone : 07853 305393 , Skype : gareth_bult
Mad Penguin Consulting is a limited company registered in England and Wales (10744763)
Statements made are subject to Terms and Conditions of Business which are available upon request.
From: "submax82"<EMAIL_ADDRESS>To: "oddjobz/pymamba"<EMAIL_ADDRESS>Cc: "Subscribed"<EMAIL_ADDRESS>Sent: Tuesday, 11 July, 2017 14:15:43
Subject: [oddjobz/pymamba] raspberrypi (#1)
I try on my raspberry but i had an error:
python -c "import lmdb; from pymamba import Database; print(lmdb.version()); Database('test.mdb')" (0, 9, 18) Traceback (most recent call last): File "", line 1, in  File "/opt/python2.7/lib/python2.7/site-packages/pymamba/init.py", line 73, in init self._env = Environment(name, **conf) lmdb.InvalidParameterError: test.mdb: Invalid argument Exception AttributeError: "'Database' object has no attribute '_env'" in <bound method Database.del of <pymamba.Database object at 0x76a54d10>> ignored
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, [ https://github.com/oddjobz/pymamba/issues/1 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AHDbGRAs0VTd5ohZxcFRvxcb8WpH_2myks5sM3V_gaJpZM4OUN4E | mute the thread ] .

On my pc, with python 2.7.12 it's run...

Interesting .. I'm afraid I've not tried it on a Pi ...
Gareth Bult
Mad Penguin Consulting Ltd
Phone : 07853 305393 , Skype : gareth_bult
Mad Penguin Consulting is a limited company registered in England and Wales (10744763)
Statements made are subject to Terms and Conditions of Business which are available upon request.
From: "submax82"<EMAIL_ADDRESS>To: "oddjobz/pymamba"<EMAIL_ADDRESS>Cc: "Gareth Bult"<EMAIL_ADDRESS>"Comment"<EMAIL_ADDRESS>Sent: Tuesday, 11 July, 2017 15:42:18
Subject: Re: [oddjobz/pymamba] raspberrypi (#1)
On my pc, with python 2.7.12 it's run...
—
You are receiving this because you commented.
Reply to this email directly, [ https://github.com/oddjobz/pymamba/issues/1#issuecomment-314466622 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AHDbGa75zxUHardEGFOZWPqJI43cbDBdks5sM4nKgaJpZM4OUN4E | mute the thread ] .

problem is:

map_size:
Maximum size database may grow to; used to size the memory mapping. If database grows larger than map_size, an exception will be raised and the user must close and reopen Environment. On 64-bit there is no penalty for making this huge (say 1TB). Must be <2GB on 32-bit.

You set<PHONE_NUMBER> = 2GB

Ahh, makes sense ... :)
Gareth Bult
Mad Penguin Consulting Ltd
Phone : 07853 305393 , Skype : gareth_bult
Mad Penguin Consulting is a limited company registered in England and Wales (10744763)
Statements made are subject to Terms and Conditions of Business which are available upon request.
From: "submax82"<EMAIL_ADDRESS>To: "oddjobz/pymamba"<EMAIL_ADDRESS>Cc: "Gareth Bult"<EMAIL_ADDRESS>"Comment"<EMAIL_ADDRESS>Sent: Tuesday, 11 July, 2017 16:27:23
Subject: Re: [oddjobz/pymamba] raspberrypi (#1)
problem is:
map_size:
Maximum size database may grow to; used to size the memory mapping. If database grows larger than map_size, an exception will be raised and the user must close and reopen Environment. On 64-bit there is no penalty for making this huge (say 1TB). Must be <2GB on 32-bit.
You set<PHONE_NUMBER> = 2GB
—
You are receiving this because you commented.
Reply to this email directly, [ https://github.com/oddjobz/pymamba/issues/1#issuecomment-314480985 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AHDbGZ2JSGQU4GLEUWIQvCJrJd0kgCwSks5sM5RbgaJpZM4OUN4E | mute the thread ] .


Maint: Black failing for GHA

Black was failing for PR (#23) that included no python changes. Update GHA or fix files.

This should also temporarily disable tests.

Add set -o xtrace to setup.sh


Redesign of logo and UI

To make the SpinLab GUI more appealing, a redesign of the logo and overall UI is needed.

An idea is to change the name of the GUI to KOMA (こま). A possible logo is:

Also, using a sidebar instead of a navbar could be a good idea (Boostrap Sidebar).

This was changed in #47.
Looking pretty cool ! :sunglasses:


Question on pagination

I am attempting to use this library to write a bot that posts markov generated sentences based upon a users history. Below is a snippet of the code I am using to download an accounts history:
pg := mastodon.Pagination{}
last, err := s.db.GetLastStatusIdForAccount(*account)
fmt.Println(fmt.Sprintf("Continuing from: %s", last))

if err != nil {
	return cli.Exit(err, 1)
}

if last != "-1" {
	pg.MinID = last
}

page := 1
for {
	ss, err := s.client.GetAccountStatuses(context.Background(), account.ID, &pg)
	if err != nil {
		return cli.Exit(err, 1)
	}

	err = s.db.InsertStatuses(ss)
	if err != nil {
		return cli.Exit(err, 1)
	}

	fmt.Println(fmt.Sprintf("%d, Messages Found: %d", page, len(ss)))

	if pg.MaxID == "" {
		break
	}
	pg.SinceID = ""
	pg.MinID = ""
	time.Sleep(3 * time.Second)
	page++
}

By setting the MinID to an empty string in each iteration it seems to go from the most recent page backwards; my account has about 6000 statuses but this seems to get to 70 pages of 20 results plus a final page of 6 making for a total of about 1,300 statuses.
Is there something I am doing wrong or does Mastodon/Pleroma limit how far back in history we can go with the API?

@carbontwelve
I tried to get the status of the bot account in mastodon.cloud.
https://mastodon.cloud/web/accounts/556729
package main

import (
	"context"
	"fmt"
	"log"

	"github.com/mattn/go-mastodon"
)

func main() {
	c := mastodon.NewClient(&mastodon.Config{
		Server:       "https://mastodon.cloud",
		ClientID:     "foofoo",
		ClientSecret: "barbar",
	})

	ctx := context.Background()

	if err := c.Authenticate(ctx, "email", "password"); err != nil {
		log.Fatal(err)
	}

	pg := mastodon.Pagination{}
	page := 1
	for {
		ss, err := c.GetAccountStatuses(context.Background(), "556729", &pg)
		if err != nil {
			log.Fatal(err)
		}

		fmt.Printf("%d, Messages Found: %d\n", page, len(ss))
		for _, s := range ss {
			fmt.Printf("%v\n", s.ID)
		}
		fmt.Printf("%+v\n", pg)

		if pg.MaxID == "" {
			break
		}
		pg.SinceID = ""
		pg.MinID = ""
		fmt.Printf("%+v\n", pg)
		time.Sleep(3 * time.Second)
		page++
	}
}

This worked.
I have obtained 125 pages of 20 results.
(I got the following string 125, Messages Found: 20)
I confirmed that I could get over 70 pages, so I stopped it at 125 pages.
Perhaps the instance you are using has API restrictions.

I did some experimenting after posting this issue and have discovered something interesting. I have an account on one instance that I last posted to in 2019, the API returned no results; however as soon as I began posting statuses on it I was able to obtain those. Similarly on the instance where I am able to get 70 pages of 20 items plus one page of 8 I posted enough statuses to push that over to 72 in total and re-ran my code to find it happily chugged through to 72 pages.
I did wonder if because my access of /api/v1/accounts/:id/statuses is unauthenticated (i'm only interested in public statuses anyway) that it hides posts beyond a certain time frame but I was able to get my first toot published on 08/27/2018 @ 8:22pm from my first instance.
In either case it's a bit weird but I am able to get a history, it might not be complete but it's good enough for my use and I am able to download statuses posted after I last ran my programme.


Add v8 Support

Supporting UUID8 primarily includes adding support in validate() and version().
README should also include language communicating that generation is vendor specific and not handled by this package.

"jinx!"


Mmap Image from Memory succeed but crash when exit

So I was able to succeed inject image from memory. What I did was comment out CleanUp(); in MMapInternal, and _process.Detach() in Inject.
However whenever my main program close it will crash with ntdll exception
auto flags = static_castblackbone::eLoadFlags(0x00);
auto injectedMod = _process.mmap().MapImage((unsigned int)SizeofResource(NULL, resInfo), LockResource(hRes), false, flags, nullptr, nullptr, nullptr);

The same program close without this error if i use img.path() instead


Rotation Bug iOS - Emulator and Physical Device

Bug When Rotating An iOS Device

Flutter Doctor -v
This was taken on my Windows machine while testing the app in Android. My Mac has the exact same set up as posted below. I am currently using the master branch for the platform view fixes to webview_flutter discussed here https://github.com/flutter/flutter/issues/29427 and here https://github.com/flutter/flutter/issues/27700.
[√] Flutter (Channel master, v1.3.14-pre.64, on Microsoft Windows [Version
    10.0.17134.648], locale en-US)
    • Flutter version 1.3.14-pre.64 at D:\Programs\Flutter\flutter
    • Framework revision 2e637d8303 (4 hours ago), 2019-03-23 13:20:41 -0400
    • Engine revision 9f878fcb3e
    • Dart version 2.2.1 (build 2.2.1-dev.2.0 None)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at D:\Programs\AndroidSDK
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = D:\Programs\AndroidSDK
    • Java binary at: D:\Programs\AndroidStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.3)
    • Android Studio at D:\Programs\AndroidStudio
    • Flutter plugin version 33.4.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2018.1)
    • IntelliJ at D:\Programs\JetBrains\IntelliJ\IntelliJ IDEA 2018.1.3
    • Flutter plugin version 31.3.1
    • Dart plugin version 181.4892.1

Test App To Reproduce
This code will reproduce the bug when running in an iOS emulator or physical device.
The bug does not occur when running the same code in Android.
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: BasePage(),
    );
  }
}

class BasePage extends StatefulWidget {
  BasePage({Key key}) : super(key: key);

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

class _BasePageState extends State<BasePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Bug App")),
      body: Flex(
        direction: Axis.vertical,
        children: <Widget>[
          Expanded(
            flex: 1,
            child: Center(
              child: Text("Demo Rotation Bug",
                textScaleFactor: 3.0,
                textAlign: TextAlign.center
              ),
            ),
          ),
          Expanded(
            flex: 1,
            child: Center(
              child: RaisedButton(
                textColor: Colors.blue,
                child: Text("Show Bug Page"),
                onPressed: () => Navigator.push(context,
                  MaterialPageRoute(builder: (context) => BugPage()),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}

class BugPage extends StatefulWidget {
  BugPage({Key key}) : super(key: key);

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

class _BugPageState extends State<BugPage> {

  /*
  I commented this out, as it seemed to have no affect on the glitch.
  The web views always load fine without the keys, after the
    most recent updates to webview_flutter and the master channel.
  Swiping has been fixed and works in iOS just as it does in Android.
  */
  //static final _keys = List<GlobalKey>.generate(3, (_) => GlobalKey());

  List<WebTest> _tabPages = {
    0:"https://www.google.com/",
    1:"https://flutter.dev/",
    2:"https://github.com/flutter"
  }.entries.map((p) =>
    WebTest(path: p.value, /*webKey: _keys[p.key]*/)).toList();

  @override
  Widget build(BuildContext context) {
    return OrientationBuilder(
      builder: (ctx, orientation) {
        return DefaultTabController(
          length: 3,
          child: Scaffold(
            appBar: AppBar(
              title: Image.asset("assets/img/logo.jpg",
                fit: BoxFit.contain, gaplessPlayback: true,),
              centerTitle: true,
              titleSpacing: 0.0,
              bottom: PreferredSize(
                preferredSize: const Size.fromHeight(kToolbarHeight * 2.0),
                child: ConstrainedBox(
                  constraints: BoxConstraints(maxHeight: kToolbarHeight * 2.0),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    crossAxisAlignment: CrossAxisAlignment.stretch,
                    children: <Widget>[
                      Expanded(
                        child: Padding(
                          padding: const EdgeInsets.all(8.0),
                          child: FittedBox(
                            fit: BoxFit.contain,
                            child: Text("Customer Wants Long Auto Size Text Here",
                              softWrap: false,
                              textAlign: TextAlign.center,
                              style: Theme.of(context).primaryTextTheme.title,
                            ),
                          ),
                        ),
                      ),
                      Expanded(
                        child: TabBar(
                          indicatorColor: Colors.black,
                          isScrollable: orientation == Orientation.portrait,
                          tabs: ["img1", "img2", "img3"].map((p) =>
                            Tab(icon: Image.asset("assets/img/" + p + ".jpg",
                               fit: BoxFit.contain, gaplessPlayback: true))).toList(),
                        ),
                      ),
                    ],
                  ),
                ),
              ),
            ),
            body: TabBarView(children: this._tabPages),
          ),
        );
      }
    );
  }
}

class WebTest extends StatefulWidget {
  WebTest({Key key, this.path, this.webKey}) : super(key: key);

  final GlobalKey webKey;
  final String path;

  final Set<Factory<OneSequenceGestureRecognizer>> _gSet = Set()..addAll([
    Factory<VerticalDragGestureRecognizer>(
        () => VerticalDragGestureRecognizer()),
    Factory<ScaleGestureRecognizer>(
        () => ScaleGestureRecognizer()),
    Factory<PanGestureRecognizer>(
        () => PanGestureRecognizer()),
  ]);

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

class _WebTestState extends State<WebTest>
  with AutomaticKeepAliveClientMixin<WebTest> {

  @override
  bool get wantKeepAlive => true;

  @override
  Widget build(BuildContext context) {
    return WebView(
//      key: widget.webKey,
      gestureRecognizers: widget._gSet,
      javascriptMode: JavascriptMode.unrestricted,
      initialUrl: widget.path
    );
  }
}

I'm getting almost exactly the same thing with google_maps_flutter. Only on iOS. Android works fine. So I think this is related to the embedded_views_preview thing and not webview_flutter.
Here's a screen capture:

Here's the code:
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Rotate Bug',
      home: MyHomePage(),
      routes: <String, WidgetBuilder> {
        '/sub-page': (BuildContext context) => SubPage(),
      }
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
            title: Text('Rotate Bug'),
        ),
        body: GoogleMap(
            initialCameraPosition: CameraPosition(
                target: LatLng(37.42796133580664, -122.085749655962),
                zoom: 8.0,
            ),
        ),
        bottomNavigationBar: MaterialButton(
            child: Text('Sub Page'),
            onPressed: () => Navigator.of(context).pushNamed('/sub-page'),
        ),
    );
  }
}

class SubPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
            title: const Text('Sub Page'),
        ),
        body: Text('content'),
    );
  }
}

Any updates?

I can still reproduce it with 0.5.21+7 and flutter 1.9.1+hotfix.4.

Same problem here using google_maps_flutter 0.5.24+1 and Flutter 1.12.13+hotfix.8. Like @Dawnthorn says, in my case the problem appears only in iOS, not in Android.
I'm using Simulator v11.3.1, with iOS 13.3. Problem happens in different hardware configuration, I tested with iPhone 8, iPhone 11 and even iPad Pro.
I haven't tested my code with real iOS hardware, so I don't know if it's a problem of the Simulator or with Flutter itself.
I attach an image testing my code with Simulator using iPad Pro as Hardware. We can see how the upper layer (the layer that it's not Google Maps) doesn't fit all the screen. Maybe it can give some clues

@KnucklesEQ I don't think it is an issue with the simulator as I can reproduce the bug with my code on a physical device. I think the bug will manifest itself when running your code on a physical device as well.

I have the same issue with latest stable flutter

@Radagan Does your app make use of platform views in any way?

I have not experienced this issue anymore with Flutter 1.17 stable and Google Maps v0.5.27+1. My tests was using the iOS Simulator 11.4.1 (I didn't test yet with physical device)

@KnucklesEQ  The bug it's gone. I was fixed in the beta channel for some time, now it made into stable. Released an app update without the workaround I was force to use before, and everything works just fine.

Hi @faverolles, could you please confirm if you are still experiencing this issue on latest Flutter and webview_flutter versions ? Per @KnucklesEQ and @babaosoftware's comments above, the issue seem to have been fixed.

Hi @darshankawar,
We are experiencing similar issues to initial video where our tab pages break on rotation.

We are on version 1.19.0-4.1pre.
Regards,
Tarek


Height Sizing

Hi, I am trying to use the svelte Image component to for a banner logo. The banner has limited height of 9vh and everytime I attempt to use the component, it just overflows instead of scaling to match the height. This is also built in Tailwind, bear in mind.

		<Image src='img/Loot_Taverns_Vault.png' alt="Loot Tavern's Vault" immediate={true} class='mx-auto h-[8vh] pb-1' />

Is there a way to make the component scale properly? No matter what I do it feels like the underlying CSS just refuses to scale.

After some digging, it looks like there are two issues at play:

The wrapper uses display: grid causing it to overflow
There is no built-in way to change the wrapper on the underlying img element from being width: 100%; height: auto to width: auto; height: 100%.


Pmwebview

This is very much not like the iOS webview, but it's functional and it's good.
I feel we need a few more examples but it should be brought to master for now.

Documentation update, too? Curious what the API looks like.

We don't have any docs yet on BluePotion I think.


Switch to Scala 3 universal equality for assertEquals()

Previously, MUnit had a subtyping constraint on assertEquals(a, b) so that it would fail to compile if a was not a subtype of b. This was a suboptimal solution because the compile error messages could become cryptic in some cases. Now, MUnit uses the new Eql[A, B] multiversal equality in Scala 3 (http://dotty.epfl.ch/docs/reference/contextual/multiversal-equality.html). For Scala 2, we drop the subtyping constraint so that it's no longer a compile error to compare unrelated types. If the values are different, then users will see a runtime error instead.
Fixes #189

I should probably have marked this PR as a draft. I’m still experimenting with different alternatives to see if we can support custom equality type classes like cats.Eq

Superseded by #225


⚠ API - Lens has degraded performance

In a92bea3, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 502
Response time: 598 ms

Resolved: API - Lens performance has improved in 83b68ca after 8 minutes.


cpu load issue

:warning: We have copied additional data to your clipboard. Make sure to paste here. :warning:
:warning: Make sure to attach these files from your home-directory: :warning:
-prof-V51KkF7J.main.cpuprofile.txt
-prof-V51KkF7J.renderer.cpuprofile.txt
prof-V51KkF7J.main.cpuprofile.txt

Thanks for creating this issue! We figured it's missing some basic information, such as a version number, or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

Please check if the issue is present with latest stable 1.84 ?

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


Mantle animations point to ALS-Refactored animations

I noticed the footprint decals were the old ones from ALS-Refactored as I was mantling; I checked, and it's pointing to the mantle data assets from ALS-Refactored.
Since there were already modified copies of the animations in ALSXT, I pointed to those montages; I found that the montages were pointing to the ASL-Refactored animation sequences. This was ultimately corrected by duplicating the mantle data assets, pointing them to the ALSXT montages, and modifying the ALSXT montages to point to the ALSXT animation sequences.

Oh yes thank you, I do believe I missed replacing a couple montage references. I will make note to to that next!

Fixed in 7369a9d


[WFLY-18222] Optimise Kafka layer rule

I'm trying to get away with no WFLY issue since this is WIP/unsupported code which has no effect on WIldFly as-is

@kabir Please add WFLY-18222 to the PR title so it can be associated with that in the git log via the merge commit.

@bstansberry done, thanks

Thanks @kabir


[docs] Update domain-verification error message

I think there's a small typo in this file - see changes.

Thank you @MichelML. This patch has been applied to the canary branch in https://github.com/zeit/now/commit/939c3a11d7f32d5a8bc23d64173fa607de961237 for now, and will make its way to the master branch the next time we do a stable release.


Advantages of zram over "standard" /dev/ram0...

This isn't an issue per se, but a question. I've learned of your work here from your post to a discussion. My question is this:
I understand the compression feature may be useful, but are there other advantages of zram-config (or zram in general) over the RAM disks currently allocated in Raspbian?

As in tmpfs ?
Or a ramdisk?
tmpfs is sort of cool as its seems complete and will push idle pages to swap.
zram would if the writeback cache option wasn't disabled for some reason in raspbian the pi alarm arch linux for arm it works but even then it is only partition based and would seem it was supposed to offer more but stopped there.
Then again its idle control is manual so could be quite useful for mounted drives with a writeback cache as you mark all as idle and if accessed the idle mark is lost.
At stages you can push out to swap all still marked as idle.
Never tried it but that could be pretty cool in creating a zdrive where often files become old and static and just take space.
As a swap backed compressed ram zram is not as good as zswap but zswap is not enabled for the pi even though it is better.
Prob might make an appearance in buster with a bit of look.
To be honest not many actually understand zram & zram as the ubuntu package is an obvious example of that.
With zswap many say it should not be more than a 3rd of the memory my advise is to ignore what anyone says especially from ubuntu or mainline distro's ignore all and play with it yourself.
If it was anything to do with ubuntu we would all believe that it is still single stream and you need a zram device or zswap for each core which actually multi-stream was implemented in 3.15.

Yes - tmpfs vs ramdisk, good question! I was researching ramdisk (what is it used for), and the thread I linked to above showed up in my search result. At the time I read it, I was not clear on the difference between ramdisk and tmpfs. And so I assumed the thread was about ramdisk, and didn't read closely enough to realize my incorrect assumption. Bottom line: sorry for the confusion.
But just so I'm clear: Is it true that zram and therefore zram-config are not applicable to ramdisk?

Not sure at all why you are interested in ramfs as the newer tmpfs is likely a better alternative.
Zram is basically ramfs with compression but yeah ramdisk will not be included in zram-config as can not see the point but I have been thinking of including tmpfs as it has all the functions of ramfs but also the frontspace / frontswap system swap interface that still I can not remember its exact name.

I got interested in RAM disks (which is not exactly the same as ramfs) because I discovered that RAM disks are allocated in the Raspbian kernel, and no one seems to know why - or what these RAM disks are used for.
I discovered they were there when I ran fdisk -l. I saw 16 RAM disks allocated:

Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
...

for ram0 - ram15. Since then, I've read that several Linux distros allocate RAM disks, but not all of the kernels list RAM disks in /proc/partitions (which is apparently why they show up in the fdisk -l output. Some have said listing them is erroneous kernel behavior.
Allocating RAM disks would make sense (to me at least) if they were used to reduce write activity to the SD card. But that explanation is largely absent as their raison d'être - at least as far as I've read so far.
And as far as ramfs vs tmpfs, I don't know enough yet to have an informed opinion regarding which is "best". That's actually why I'm researching this :) It's fascinating really - a bit like watching the inside of an anthill... all the ants working hard, but not really understanding the purpose of all of it. But I digress :)

If you want a really unknowable account in /boot an image of the kernel+modules is created, initramfs and various other names depending on distro.
Arch linux is always a great reference https://wiki.archlinux.org/index.php/Mkinitcpio


Python 3.4 run pdf2txt.py ImportError: No Module named 'six'

updated python from 2.7 to 3.4 on my laptop (Windows)
test run command-line command  pdf2txt.py simple1.pdf
return ImportError: no module named 'six'
I guess there's something wrong with the third line: import six
anyone knows how to fix it?

I guess you should reinstall packages after upgrading from 2.7 to 3.4.
setup.px contains line
install_requires=['six', 'chardet'] if sys.version_info >= (3, 0) else ['six'],
so for Python 3.x it will also install package chardet, which is probably missing .

(assuming the answer was correct...)


Add more examples

Codecov Report

Merging #17 (f0000c7) into master (f6fcf1b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #17   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           49        49
  Branches         5         5
=========================================
  Hits            49        49

Continue to review full report at Codecov.

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


Fix exception dates calculation when across DST boundaries

Adds ActiveSupport::TimeWithZone as a supported time format for passing to ice_cube
Sets exception dates with the same tz offset as the start time when calculating the schedule for cases that ActiveSupport isn't available

Fixes #24

@jnraine any objection to merging this in?


Updated to handle true and false branches of a volatile flag...

…without generating multiple flag checks.
A code structure like
if_passed :flagname do
  bin 1
end
if_failed :flagname do
  bin 2
end

should still combine to an if/else structure even if :flagname is declared as volatile.  Currently the code generates two back-to-back flag comparisons with opposite value states.

Thanks for the PR.
Not sure that I really like treating the flag as volatile for some optimizations, but then ignoring it for others. Sure, it makes sense for this scenario, but are we setting up here for someone to complain in the future that it shouldn't be collapsing volatile flags like this?
I would prefer one of the following solutions...
Enhance the API to allow you to code it to show that these conditions are mutually exclusive:
if_passed :flagname, then: -> do
  bin 1
end, else: -> do
  bin 2
end

Enhance the section of the code you have modified to look inside the first node. If it doesn't contain any test nodes, or doesn't explicitly set the flag, then we can safely assume that even though the flag is volatile, there is nothing in this case which could change its state between references.
What do you think of those?

In fact I think that coding syntax is already supported.

Thanks for the comments @ginty.  I agree that we need to have consistent behavior.  Doing some optimizations but not others would make for a confusing interface.  As you said, though, it makes sense to optimize in this case.  In the pre-overhaul syntax, using if_flag followed by unless_flag was pretty much the only way of generating an if/else structure in the .tf file.
The main need behind volatile flags is that tests could change the state of the flag, therefore we needed a way to bypass the optimizations done across test nodes.  The current implementation takes that even further to the point of bypassing ALL optimizations, even when it generates an unnecessarily complicated flow.  We, as an Origen team, need to decide what the behavior should be and make all of the optimizations consistent with that behavior.  Personally, I tend to favor the one that simplifies the output flow.

I've implemented (2) from my earlier comment, does that work for you or are further exception cases needed?

@ginty, that's an interesting case, and one I hadn't really considered.  In the case of
test :test1
if_flag :flagname do
  test :test2
end
unless_flag :flagname do
  bin 1
end

This would generate two adjacent and opposite checks to the same flag.  If the first one fails, the second one necessarily passes, removing the need for a flag comparison (reducing to an if/else case).  If the first comparison passes, then test2 may change the result of the flag and you'd have to do a second comparison.  In our use case the flag checks are immediately after the test so we would put the flag check for test2 inside the if_passed block such as
test :test1
if_flag :flagname do
  test :test2
  unless_flag :flagname do
    bin 2
  end
end
unless_flag :flagname do
  bin 1
end

This way it's clear which flag comparison corresponds to which test.
Thinking further, in the case above, if both unless_flag blocks are rendered in the output as separate comparison blocks, then potentially both of them would be executed which may be undesirable.

At some point you may have to code it in a particular way to give the compiler more information about what you really mean.
For example, if you give the bin 1 branch higher priority by putting it first then it will collapse as you want:
test :test1
unless_flag :flagname do
  bin 1
end
if_flag :flagname do
  test :test2
  unless_flag :flagname do
    bin 2
  end
end

Or you can code it to show that the outer branches should be treated as mutually exclusive:
test :test1
if_flag :flagname then: -> do
  test :test2
  unless_flag :flagname do
    bin 2
  end
end, else: -> do
  bin 1
end

Otherwise, if we have told the compiler that :flagname should be considered volatile I don't see how it can know to convert the two outer checks into a mutually exclusive pair unless you give it more information to tell it to do that.
Do you have other ideas about how we should handle this?

I'll back up a little bit.  I'm trying to add what amounts to a call-back into the test interface.  Perhaps you'll have a better idea of how to do what I'm trying to do.  Whenever a test gets created there is an automatic flag check added to the fail branch.   This generally works fine.  The complication comes when there is an if_passed or if_failed call, or if there is an on_fail: or if_failed: flag passed.  I have to intercept the fail branch nodes and add them to the fail branch of the flag check within the fail branch of the test.  I have been exploring the best way to do that now that we have lambdas in the flow, and I have a bunch of test cases which generate wrong flows, but it might be related to how I insert the callback.
Right now, I'm doing this by setting the on_fail: key for each test generated.
options[:on_fail] = -> { if_flag '$Alarm', then: -> { bin 1 }, else: previous_onfail_block }

What does 'wrong flows' mean exactly?
I can imagine you might have problems with this if previous_onfail_block is itself a lambda, probably you would need to change what you have written above to be: ..., else: previous_onfail_block.call }

@ginty, I had tried using the call method but empirically discovered that it wasn't needed.
You asked about my wrong flows comment here's some examples from test cases I had put together which mimic the code being passed to ATP after being processed by my callback code in the interface:
  test :testC1, id: :tC1, on_fail: ->{
    if_flag "TestFlag" do
      bin 1
    end
    unless_flag "TestFlag" do
      test :testC2, id: :tC2, on_fail: ->{
        if_flag "TestFlag" do
          bin 1
        end
      }
      unless_flag "TestFlag" do
        bin 2, if_failed: :tC2
      end
    end
  }

generates
  run_and_branch(testC1)
  then
  {
  }
  else
  {
    if @TESTFLAG == 1 then
    {
      stop_bin "", "fail", , bad, noreprobe, red, 1, over_on;
    }
    else
    {
      run_and_branch(testC2)
      then
      {
      }
      else
      {
        if @TESTFLAG == 1 then
        {
          stop_bin "", "fail", , bad, noreprobe, red, 1, over_on;
        }
        else
        {
        }
      }
      stop_bin "", "fail", , bad, noreprobe, red, 2, over_on;
    }
  }

In this one, the TestFlag is not declared as volatile, so I understand why the inner unless_flag is being optimized away.   However the bin 2 is being placed outside of the testC2 structure despite having if_failed: :tC2 in the call.
This next one is a slightly more compact version of the same flow, which has the same output.
  test :testD1, id: :tD1, on_fail: ->{
    bin 1, if_flag: "TestFlag"
    unless_flag "TestFlag", then: ->{
      test :testD2, id: :tD2, on_fail: ->{
        bin 1, if_flag: "TestFlag"
      }
      bin 2, if_failed: :tD2, unless_flag: "TestFlag"
    }
  }

In this example, the output is less correct:
  test :testG1, id: :tG1
  if_passed :tG1, then: ->{
    bin 2
  }, else: ->{
    if_flag "TestFlag", then: ->{ bin 1 }, else: ->{
      test :testG2, id: :tG2
      bin 3, if_failed: :tG2
    }
  }

Produces this output
  run_and_branch(testG1)
  then
  {
    stop_bin "", "fail", , bad, noreprobe, red, 2, over_on;
    if @TESTFLAG == 1 then
    {
      stop_bin "", "fail", , bad, noreprobe, red, 1, over_on;
    }
    else
    {
      run_and_branch(testG2)
      then
      {
      }
      else
      {
        @TG2_BEA7F3B_FAILED = 1;
      }
      if @TG2_BEA7F3B_FAILED == 1 then
      {
        stop_bin "", "fail", , bad, noreprobe, red, 3, over_on;
      }
      else
      {
      }
    }
  }
  else
  {
  }

For some reason, both the then: and else: branches of the if_passed :tG1 are getting merged together into the passed path.  Also, the flag by testG2 is not getting optimized away, but that's a smaller issue.  If I change the if_passed :tG1 to if_failed :tG1, then the whole block moves into the fail branch, including the bin 2.

Thanks @arkohler, that helps a lot and there seems to be some bugs here that we need to sort out.
Could you convert these to some tests cases and push to this PR? I can help work out what is wrong once we have the failing test cases.
I have this spec file which you can them to and which is a catch all for general test cases based on real life issues that have been identified - https://github.com/Origen-SDK/atp/blob/master/spec/optimization_spec.rb

@ginty.  I created the test cases in optimization_spec.rb, but the resulting AST appears to be generally correct.  The problem must be coming after the AST is generated.  I'm having some git trouble getting the push through, but in the meantime, here's the resulting AST.
For the first case above:
      s(:flow,
        s(:name, "sort1"),
        s(:test,
          s(:object, "test1"),
          s(:id, "t1"),
          s(:on_fail,
            s(:if_flag, "TestFlag",
              s(:set_result, "fail",
                s(:bin, 1)),
              s(:else,
                s(:test,
                  s(:object, "test2"),
                  s(:id, "t2"),
                  s(:on_fail,
                    s(:if_flag, "TestFlag",
                      s(:set_result, "fail",
                        s(:bin, 1))))),
                s(:if_failed, "t2",
                  s(:set_result, "fail",
                    s(:bin, 2))))))))

And the second case (using if_failed :t1)
      s(:flow,
        s(:name, "sort1"),
        s(:test,
          s(:object, "test1"),
          s(:id, "t1"),
          s(:on_fail,
            s(:set_result, "fail",
              s(:bin, 2)),
            s(:else,
              s(:if_flag, "TestFlag",
                s(:set_result, "fail",
                  s(:bin, 1)),
                s(:else,
                  s(:test,
                    s(:object, "test2"),
                    s(:id, "t2"),
                    s(:on_fail,
                      s(:set_flag, "t2_FAILED", "auto_generated"))),
                  s(:if_flag, "t2_FAILED",
                    s(:set_result, "fail",
                      s(:bin, 3)))))))))

@arkohler, that looks like that raw AST, likely the error occurs during the processing/optimizations.
Within that test spec the ast method will return the optimized AST.
Normally what I do when creating these tests is put a debugger into the test after the AST has been created. Then call the 'ast' method from the debugger and paste that in as a starting point. Then review it and hand modify as necessary to make it what it should be if the current output is found to be wrong.

@ginty, actually those examples above are post-optimization, using the ast command after it was generated.  Now that I knew to look for it, the result of atp.raw is generally similar though with a couple of differences.  I've started digging into the AST processing/optimization code and will let you know if I find anything.  However, it must be post-AST optimization where the logically ok AST becomes the incorrect 93k flow.

@arkohler, I see.
The reason I thought it was raw is that it contains an if_failed node, which appear in the raw version but which should all be converted to either a set_flag/if_flag pair, or be nested within an on_fail node in the processed/optimized version.
The downstream V93K flow renderer won't know what to do with an if_failed node, so I think we can already see the problem at this level.
It looks like maybe the children of else nodes are not being processed.

I think maybe this bit https://github.com/Origen-SDK/atp/blob/master/lib/atp/processors/relationship.rb#L129
Should be changed to:
# Original, does not process the children of test nodes
if node.type == :group
  node.updated(nil, process_all(node))
else
  node
end

# Remove if statement change to
node.updated(nil, process_all(node.children))

Hi @ginty,
I've been somewhat busy with other pressing items and haven't had the chance to look at this in the past couple of days.  I did try your suggestion above and ended up with a recursion-too-deep error when running origen_testers examples.
I have added the requested test cases to a new PR #8 since this branch seems to have git confused.

Thanks for the new test cases @arkohler, that first one in particular gives it quite a workout!
To handle the first one, I've added a new validator which will now raise an error if you present it with something like that (nested if/unless_flag with opposite states) without declaring the flag as volatile. Otherwise it won't know what to do with it.
Once you add the volatile, it now produces something which I believe to be correct, see what you think.
A further enhancement could be to create the volatile definition on the fly internally if it sees something like that, rather than raise the error and have the user do it. You can let me know what you think of that, I can see advantages to both and don't have a strong opinion one way or the other.
Note that this PR still contains the earlier update which means that it will now optimize cases like this since it knows that what it contained within the if_passed branch cannot change the state of the flag.
volatile :flagname
if_passed :flagname do
  bin 1
end
if_failed :flagname do
  bin 2
end

I think that's still a worthwhile enhancement and we should keep it, even though it did nothing to help the eventual root cause in this case.
Agree?


What is the character limit of MEMO？

when i made a transfer as follow:
cleos transfer my_account target_account "1 EOS" Good luck
Error message display: 1605779ms thread-0   symbol.hpp:52                 string_to_symbol     ] 10 assert_exception: Assert Exception
str[i] >= 'A' && str[i] <= 'Z': invalid character in symbol name
This should means, please don't use the space,can only use letters and 1-5,you need to connect all the letters like "goodluck".
BUT!
eosio -> b1 10.0000 EOS
(Memo: Never doubt that a small group of thoughtful, committed citizens can change the world; indeed, it's the only thing that ever has - eosacknowledgments.io)
wow,why can't use space/colon and so on, and system accounts EOSIO can be?What is the character limit of MEMO？what should I do.I tried ""/’'，problem was still.
cleos transfer my_account target_account "1 EOS" 'Good luck'      command failed
cleos transfer my_account target_account "1 EOS" "Good luck"     command failed
cleos transfer my_account target_account "1 EOS" [Good luck]     command failed
cleos transfer my_account target_account "1 EOS" Good luck      command failed
I can't find relevant instructions in the development document, and I can't find the definition of MEMO in the .cpp .hpp .h source code.
Please help to give the cleos command to control the MEMO,and  length of MEMO,thanks a lot.

eosio.token transfer memo is limited to 256 characters and is type string. Not clear what your problem is.
Show output of:
cleos -v --print-request --print-response transfer my_account target_account "1 EOS" "Good luck"

Thanks a lot, "cleos -v --print-request --print-response transfer my_account target_account "1 EOS" "Good luck" ,It's already done!thanks again. :)
we can close this issues.

I'm thinking that if I think of the memo as an AD space.
Users can rent their memo on each transaction and gain profits.
There is such a platform to centrally process idle account memo state.
What would that look like?
What do you think?


Fix/Standstill duration condition for MiscObjects

Types of PR

[ ] New Features
[ ] Upgrade of existing features
[X] Bugfix

Link to the issue
Description
Added standstill duration update for MiscObjects. It is necessary to support scenarios that are testing the standstill duration for those objects.
How to review this PR.
Others
This change emerged from scenarios that are created to be used as regression tests for scenario_simulator_v2

I have verified that by applying the changes in this pull request, the workflow https://github.com/RobotecAI/scenario_simulator_v2_scenarios/blob/main/workflow/MiscObject.yaml now all succeed.


demo dynamic imports

Any background context you want to provide?
This is a demo in response to a slack message from @ibrahimjaved12, in regards to https://github.com/mitodl/ocw-hugo-themes/pull/1071#discussion_r1098682971
@ibrahimjaved12 It seems like we have three possible approaches for splitting out the VideoJS stuff:

.Page.Scratch hugo manipulations
inserting a script tag like you do in current version of #1071
dynamic imports

This demo PR is meant to help explore (3).
Question for you... do you have any opinions yet about which approach seems best?
What's this PR do?
This PR shows a demo of dynamic imports.
HOWEVER: This proof of concept only works with production build, NOT dev build. I think that in order for dynamic imports to work with the dev server, some aspects of how we set up the dev server need to change.
How should this be manually tested?
The filepaths below are for my system, where my repos live at ~/dev/ocw-hugo-themes, ~/dev/ocw-hugo-projects, and ~dev/ocw-content-rc. Modify as necessary.

First, make sure you have an env file locally. E.g., yarn with-env --dev --print-env ''  > .env. A .env file is needed for running the productionb uild.
Ensure you have a local copy of course 9.40-spring-2018. If you don't, you can just run yarn start course to clone it. (It's the default course).
Run the production build: yarn build ~/dev/ocw-content-rc/9.40-spring-2018 ~/dev/ocw-hugo-projects/ocw-course-v2/config.yaml
Serve the production build: npx serve ~/dev/ocw-content-rc/9.40-spring-2018/dist
Visit the given url.
In dev console, initVideoJS().
In ocw-hugo-themes, ls -lh  base-theme/dist/static_shared/js. You should see a separate chunk called something like 240.b3db3.js that contains just the initVideoJS code. Of course, the code in this PR is just "hello world", but the idea would be for all the big videojs files to end up in that separate chunk.

From the three options:

.Page.Scratch hugo manipulations
inserting a script tag like you do in current version of https://github.com/mitodl/ocw-hugo-themes/pull/1071
dynamic imports

Comparisons
Comparison of Option 1 & Option 2
I think 1. .Page.Scratch is better as compared to 2., because we are using Hugo's way of doing it -- this would mean no <script> tag -- which honestly is looking so out of fashion there. As we have already a partial to do this for us if we go for Hugo's way of using Scratch:
$videojs_url := $webpack.videojs (using the entry point)
and then a conditional call to partial inside perhaps youtube_player.html:
partial "include_js.html" (with passed dictionary and above context), this will take care of the <script> approach currently implemented in the other PR i put up. So this seems a much more relatively elegant way of doing it.
But we'd also need to decide between the tradeoff of using .Scratch vs using localStorage. Both would have the same functionality: if once it is loaded, add a flag variable to make sure it does not import again. We could probably compare the performance of both for that matter. And also make sure of their accessibility.
Option 1 vs Option 2 vs Option 3
But out of the three, I do believe that the 3rd option is preferable, there is no manual keeping track of state using dictionary or localStorage, and we also have the benefit of it being asynchronous.
Testing process
I ran the code using the steps, initVideoJS() inside dev console is working. It is also working inside youtube_player.html, if I try to trigger the function using window.initVideoJS()
But: After I do yarn build ...... .....,  I had this fatal error. Just mentioning.

Also:

In ocw-hugo-themes, ls -lh  base-theme/dist/static_shared/js. You should see a separate chunk called something like 240.b3db3.js that contains just the initVideoJS code. Of course, the code in this PR is just "hello world", but the idea would be for all the big videojs files to end up in that separate chunk.

This is something I've been trying to find the cause of for a while now. Inside my base-theme/dist/static_shared, I do not see js or css directories at all. However I was able to see those files from the live server. Inside dev, I tried removing CleanWebpackPlugin but the files would still not appear. And for this case, using prod, they're not appearing either.. inside my local disk. Can you please let me know if I'm missing something.
Using Dev instead of Production
I think you're right, it might be related to publicPath.
Because in dev, I tried to implement the same thing (but with the real imports):
GET http://localhost:3000/static_sharedjs/course-v2_assets_videojs-imports_js.js net::ERR_ABORTED 404 (Not Found) However if we changed localhost:3000 to localhost:3001 (keeping the rest of the url as it is), the file does exist.

@ibrahimjaved12 Thanks for that write up. Overall, I agree very much with

But out of the three, I do believe that the 3rd option is preferable, there is no manual keeping track of state using dictionary or localStorage, and we also have the benefit of it being asynchronous.

Regarding .Page.Scratch approach: Re

$videojs_url := $webpack.videojs (using the entry point)
and then a conditional call to partial inside perhaps youtube_player.html:
partial "include_js.html" (with passed dictionary and above context)

I think what you describe doesn't actually use .Page.Scratch, and this was my initial thought also: make youtube_player.html responsible for inserting the script tag. My concern with that is it is possible for a single OCW page to contain multiple videos. (A resource page will only have one, but a course/whatever-course/pages/page-with-lots-of-videos might have multiple). And if there are multiple videos, we only want a single script tag. Hence writing to .Page.Scratch, similarly to what you dide with localstorage.
Anyway, I think we should continue with Option 3, but it might be best to get the webpack stuff fixed in a separate PR. I believe that if we set publPath to https://localhost:3001 during development, we can (hopefully) get rid of the webpack_url.html partials. I want to talk with @gumaerc about this a little today when he gets into the office.


Add RustCrypto as a feature

https://github.com/RustCrypto/AEADs?tab=readme-ov-file
Add it as a feature flag. We will have a feature flag for ring too.
Make something similar to

https://github.com/radumarias/rencrypt-python/blob/main/src/cipher.rs
https://github.com/radumarias/rencrypt-python/tree/main/src/cipher

Where features control those to be included in binary.
Feature flags

provider_rust_crypto
provider_ring
default = ["provider_rust_crypto"]  # have provider_rust_crypto as default

CLI args

We need a new arg provider with values like the above features, which will correspond to CipherMeta enum variant
cipher CLI arg will correspond to CipherMeta::alg

Values need to be validated based on supported algorithms for the provider corresponding to RustCryptoAlgorithm and RingAlgorithm
In src/run.rs:201 create cipher_meta

  let alg: String = matches.get_one::<String>("cipher").unwrap().to_string();
  let alg = Cipher::from_str(alg.as_str());

  let provider: String = matches.get_one::<String>("provider").unwrap().to_string();
  let cipher_meta_res = match provider {
      CipherMeta::RustCrypto.to_string() => {
          match RustCryptoAlgorithm::from_str(alg) {
              Ok(alg) => Ok(CipherMeta::RustCrypto { alg }),
              Err(err) => Err("Invalid cipher"),
          }
      },
      CipherMeta::Ring.to_string() => {
          match RingAlgorithm::from_str(alg) {
              Ok(alg) => Ok(CipherMeta::Ring { alg }),
              Err(err) => Err("Invalid cipher"),
          }
      },
      _ => Err("Invalid provider"),
  };
  if cipher_meta_res.is_err() {
      error!(cipher_meta = %cipher_meta_res.unwrap_err());
      return Err(ExitStatusError::Failure(1).into());
  }
  let cipher_meta = cipher_meta_res.unwrap();

Document values in src/run.rs:120 from

                            Cipher::iter().map(|x| x.to_string()).collect::<Vec<_>>().join(", ")),
              )

to a list as a set of unique values from RustCryptoAlgorithm and RingAlgorithm
Remove Cipher and replace it with CipherMeta

Crypto changes

Add cipher module where Cipher and CipherMeta will be defined. A new cipher can be created like https://github.com/radumarias/rencrypt-python/blob/main/src/cipher.rs#L205
Copy https://github.com/radumarias/rencrypt-python/blob/main/src/cipher/rust_crypto.rs and https://github.com/radumarias/rencrypt-python/blob/main/src/cipher/ring.rs to cipher as modules. Make these modules public so users can directly use the ciphers
Rename RingCryptoRead to DynamicCryptoRead and RingCryptoWrite to DynamicCryptoWrite

Internally create a cipher with cipher::new and use it where we need to encrypt/decrypt, mostly where seal_in_place and open_in_place are called

Call them with nonce as it's created now and nonce_out = None. We need to keep the nonce generated outside because of https://github.com/radumarias/rencfs/issues/47, and we want to keep Cipher generic

@BalasaRadu how is it going?


no file picker dialog

Hi folks, I am using the latest zotero 5.0.89 on a mac book pro.   I installed the roam-export, no problems, restarted zotero.  Selected all articles in my database (about 2200), right-clicked and selected export to roam, but no file picker appeared.  Zotero didn't seem to freeze or anything, no sign that anything happened.

That's a lot of articles, I'm not surprised something wasn't right 😅
Try opening the debug output (Help > Debug Output Logging > View output) then do the export again, and paste the output here!

That's a lot of articles, I'm not surprised something wasn't right 😅
Try opening the debug output (Help > Debug Output Logging > View output) then do the export again, and paste the output here -- there should be an error somewhere in there.

[JavaScript Error: "XML Parsing Error: no root element found
Location<EMAIL_ADDRESS>Line Number 1, Column 1:" {file<EMAIL_ADDRESS>line: 1}]
version => 5.0.89, platform => MacIntel, oscpu => Intel Mac OS X 10.15, locale => en-CA, appName => Zotero, appVersion => 5.0.89, extensions => Zotero Scholar Citations (1.9.3, extension), ZotFile (5.0.16, extension), Better BibTex for Zotero (5.2.47, extension), Zotero LibreOffice Integration (5.0.23.SA.5.0.89, extension), Zotero Word for Mac Integration (5.0.27.SA.5.0.89, extension), Zotero Roam Export (1.11, extension)
(3)(+0000000): Viewing item in pane 0
(3)(+0000001): Refreshing item box
(3)(+0007998): Error: getAttachments() cannot be called on attachment items Zotero.Item.prototype.getAttachments@chrome://zotero/content/xpcom/data/item.js:3228:11 getItemMetadata@chrome://zoteroroamexport/content/roamexport.js:214:13 gatherItemData@chrome://zoteroroamexport/content/roamexport.js:321:24 getAllItemsData@chrome://zoteroroamexport/content/roamexport.js:336:28 exportItems@chrome://zoteroroamexport/content/roamexport.js:346:28
(5)(+0089737): POST /connector/ping HTTP/1.1 Host: <IP_ADDRESS>:23119 Connection: keep-alive Content-Length: 73 X-Zotero-Version: 5.0.69 X-Zotero-Connector-API-Version: 2 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36 Content-Type: application/json Accept: / Origin: chrome-extension://ekhagklcjbdpajgpjgmbionohlpdbjgc Sec-Fetch-Site: none Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9
(5)(+0000009): HTTP/1.0 200 OK X-Zotero-Version: 5.0.89 X-Zotero-Connector-API-Version: 2 Content-Type: application/json {"prefs":{"automaticSnapshots":true}}

(3)(+0007998): Error: getAttachments() cannot be called on attachment items Zotero.Item.prototype.getAttachments@chrome://zotero/content/xpcom/data/item.js:3228:11 getItemMetadata@chrome://zoteroroamexport/content/roamexport.js:214:13 gatherItemData@chrome://zoteroroamexport/content/roamexport.js:321:24 getAllItemsData@chrome://zoteroroamexport/content/roamexport.js:336:28 exportItems@chrome://zoteroroamexport/content/roamexport.js:346:28
From this it looks like somewhere within your selection you've included attachments as well as parent items. The exporter only exports parent items (but it includes attachment metadata). Try checking to make sure you're only selecting parent items before exporting.

hmmm... it doesn't look like I have included attachments in the selection.  I have the article list collapsed, cmd-a selects them all, hitting the little triangle shows that the pdf/attachment is not selected.  Is there a setting somewhere that would override this?

Are there perhaps items that are just files (i.e. have no parent items) at the bottom of your list? Sometimes that happens when you import a file but don't create a parent item for it.
Like the Unger PDF below:

Hi - that is absolutely possible, many thanks, I will check.
Sincerely,
Dr. Ronald D. Haynes
Professor, Department of Mathematics and Statistics
Chair, MSc and PhD Scientific Computing Programs
Memorial University of Newfoundland
We acknowledge that the lands on which Memorial University’s campuses are situated are in the traditional territories of diverse Indigenous groups, and we acknowledge with respect the diverse histories and cultures of the Beothuk, Mi’kmaq, Innu, and Inuit of this province.
On Aug 27, 2020, 1:08 PM -0230, melat0nin<EMAIL_ADDRESS>wrote:

Are there perhaps items that are just files (i.e. have no parent items) at the bottom of your list? Sometimes that happens when you import a file but don't create a parent item for it.
Like the Unger PDF below:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Indeed - there was a couple of pdfs at the bottom of the list.  So I now have the .json file, but roam/browser becomes unresponsive upon import.  It correctly recognizes the number of files but when I confirm the import is stalls.  The browser gives unresponsive warnings.
Sincerely,
Dr. Ronald D. Haynes
Professor, Department of Mathematics and Statistics
Chair, MSc and PhD Scientific Computing Programs
Memorial University of Newfoundland
We acknowledge that the lands on which Memorial University’s campuses are situated are in the traditional territories of diverse Indigenous groups, and we acknowledge with respect the diverse histories and cultures of the Beothuk, Mi’kmaq, Innu, and Inuit of this province.
On Aug 27, 2020, 1:25 PM -0230, Ronald Haynes<EMAIL_ADDRESS>wrote:

Hi - that is absolutely possible, many thanks, I will check.
Sincerely,
Dr. Ronald D. Haynes
Professor, Department of Mathematics and Statistics
Chair, MSc and PhD Scientific Computing Programs
Memorial University of Newfoundland
We acknowledge that the lands on which Memorial University’s campuses are situated are in the traditional territories of diverse Indigenous groups, and we acknowledge with respect the diverse histories and cultures of the Beothuk, Mi’kmaq, Innu, and Inuit of this province.
On Aug 27, 2020, 1:08 PM -0230, melat0nin<EMAIL_ADDRESS>wrote:

Are there perhaps items that are just files (i.e. have no parent items) at the bottom of your list? Sometimes that happens when you import a file but don't create a parent item for it.
Like the Unger PDF below:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

If the JSON successfully exports then that implies the export is just too large -- I'd recommend splitting it into chunks, since 2,000 is a huge number for Roam to process in a single import.
27 Aug 2020, 23:14 by<EMAIL_ADDRESS>
Indeed - there was a couple of pdfs at the bottom of the list.  So I now have the .json file, but roam/browser becomes unresponsive upon import.  It correctly recognizes the number of files but when I confirm the import is stalls.  The browser gives unresponsive warnings.
Sincerely,
Dr. Ronald D. Haynes
Professor, Department of Mathematics and Statistics
Chair, MSc and PhD Scientific Computing Programs
Memorial University of Newfoundland
We acknowledge that the lands on which Memorial University’s campuses are situated are in the traditional territories of diverse Indigenous groups, and we acknowledge with respect the diverse histories and cultures of the Beothuk, Mi’kmaq, Innu, and Inuit of this province.
On Aug 27, 2020, 1:25 PM -0230, Ronald Haynes<EMAIL_ADDRESS>wrote:

Hi - that is absolutely possible, many thanks, I will check.
Sincerely,
Dr. Ronald D. Haynes
Professor, Department of Mathematics and Statistics
Chair, MSc and PhD Scientific Computing Programs
Memorial University of Newfoundland
We acknowledge that the lands on which Memorial University’s campuses are situated are in the traditional territories of diverse Indigenous groups, and we acknowledge with respect the diverse histories and cultures of the Beothuk, Mi’kmaq, Innu, and Inuit of this province.
On Aug 27, 2020, 1:08 PM -0230, melat0nin<EMAIL_ADDRESS>wrote:

Are there perhaps items that are just files (i.e. have no parent items) at the bottom of your list? Sometimes that happens when you import a file but don't create a parent item for it.
Like the Unger PDF below:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

—
You are receiving this because you commented.
Reply to this email directly, > view it on GitHub https://github.com/melat0nin/zotero-roam-export/issues/24#issuecomment-682194365> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/AAG62MF44JYTKNAHWTQYFY3SC3ECTANCNFSM4QNDJMLA> .

Let me know if chunking your exports worked. The problem was most probably that the javascript engine coupled with your hardware couldn't handle an export of that size, which isn't unreasonable, I think.

Yes - chunking seemed to work fine!


fix(org): multiple fixes for +org--insert-item

After using the +org--insert-item of #6084 for a decent time, I have found multiple issues with it, e.g. the labels of ordered lists were not updated and it also made a difference if the point is before or after the bullet.
This pr fixes this behavior, but uses a horrible hack. For the edge
case of an empty item, it inserts a no-break space momentarily, so that
`org-insert-item' does the right thing.

For unambiguity: This pr in fact fixes multiple issues, but fixes them in one go.

Think this code doesn’t cover the following case:
- ▮
  test

where cursor is represented as ▮, which should be transformed with +org--insert-item to
-
  test
- ▮

but, with the current modification only results to
- ▮
-
  test

@HyunggyuJang I just tried it just now and it works for me.

It should now work.

Sorry for the late response! Thanks for your help!

np, this pr fixes my own messup…


[SUPPORT] What should I do if I want to delete data in certain partitions?

I want to use hudi to upsert our data.
What should I do if I want to delete data in certain partitions？
hudi version: 0.10.0

Can I manually delete the partition folder in hdfs table path?

@BruceKellan
you can try to use spark-sql as follow to delete partition：
alter table db.tbl drop partition (pt='xxx')

@YannByron , we can delete partition with above cmd if only we had integrated spark-hive, right ?

@kenny-shopback Hudi write client also supports partition delete there is an example org.apache.hudi.examples.spark.HoodieWriteClientExample

@xushiyan Thanks for your reply.
I will try this case this week.

@YannByron , we can delete partition with above cmd if only we had integrated spark-hive, right ?

yep, execute this command on spark, with hudi 0.10.

thank @xushiyan , @YannByron


Doc Feedback:

Location : https://ei.docs.wso2.com/en/7.0.0/micro-integrator/use-cases/examples/jms_examples/rabbitmq-examples/
Outsequence is outside target?

OutSequence is removed in MI docs https://mi.docs.wso2.com/en/latest/learn/examples/rabbitmq-examples/point-to-point-rabbitmq/


Displaying actually used methods of traits

There is a problem with Calypso displaying all methods of all (recursively) used traits in list of methods, even if those methods are not actually used. There are two cases causing that.
First case is when there are nested traits (trait that uses another trait) and one trait rewrites method from its "inner" trait. In Nautilus, there is only the topmost (actually used) method shown, but in Calypso there are listed all "versions" of the method (version from all traits) and it is very hard to see which one is actually used and which is not.
I can look how the trait hierarchy looks (which is great!), but I do not want to see all versions of the same method even if only one is actually used - I want to see just the used one.

Second case is that Calypso seems to ignore "subtracting" methods from used traits, like
uses: TMyTopTrait - {#foo} (it displays foo in list of methods anyway).

Calypso confess different philosophy for traits than Nautilus. It does not
mean that it can't support Nautilus style but it was never be a goal.
For Calypso traits are just a special kind of multiple inheritance. Calypso
does not differ traits and superclasses. They all are inherited objects but
they based on different inheritance mechanizm.
And there is general tool to enable method visibility of those inheritance
objects in the browser.
Trait methods are visible for selected class because there is a setting to
activate *all *traits visibility by default (notice checkbox with green T
icon over first item in protocol panel).
The setting is active by default to mimic Nautilus style but as you see it
is not completely same.
When in traits hierarchy there are many overrides the browser shows all of
them because all inherited trait classes are visible.
It works exactly same way like for many overrides in superclass chain. When
you activate full hierarchy visibility (another checkbox) you will also see
all overridden methods.
Trait and superclass methods here are shown in exactly same logic. In case
of many superclass methods you also need to guess what method is active for
selected class.
To support real Nautilus logic one needs to extend model with new kind of
class scope, something like RawClassScope. It will see all methods which
are really installed into the class. Existing class scopes are implemented
in terms of localMethods (defined methods). Then it will probably require
other changes in the model to be composable with instance side scope, class
side scope and so on.
2018-08-01 9:20 GMT+01:00 Jan Blizničenko<EMAIL_ADDRESS>
There is a problem with Calypso displaying all methods of all
(recursively) used traits in list of methods, even if those methods are not
actually used. There are two major cases causing that.
First case is when there are nested traits (trait that uses another trait)
and one trait rewrites method from its "inner" trait. In Nautilus, there is
only the topmost (actually used) method shown, but in Calypso there are
listed all "versions" of the method (version from all traits) and it is
very hard to see which one is actually used and which is not.
I can look how the trait hierarchy looks (which is great!), but I do not
want to see all versions of the same method even if only one is actually
used - I want to see just the used one.
Second case is that Calypso seems to ignore "subtracting" methods from
used traits, like
uses: TMyTopTrait - {#foo} (it displays foo in list of methods anyway).

But this just needs to be supported

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pharo-ide/Calypso/issues/304, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHxaoLNw8NX7cqTSLF5UshjTaDI0CUqxks5uMWTBgaJpZM4VqDWt
.

nevertheless it still needs to be modified because it is not multiple inheritance, is composition and when you override one method you in practice are removing the method the trait provides and replacing it by another.
Proof of that is that if you still want to access to the trait method, you need to alias is (rename it).

It's not about modification but implementing new feature. It could become
default in the browser.
But let's not continue repeat our disput. You know my point here. For me
what you describe as a proof is just a technical detail of traits
mechanics. It does not contradict with my idea that traits are just a
special kind of inheritence
чт, 20 сент. 2018 г., 9:08 Esteban Lorenzano<EMAIL_ADDRESS>
nevertheless it still needs to be modified because it is not multiple
inheritance, is composition and when you override one method you in
practice are removing the method the trait provides and replacing it by
another.
Proof of that is that if you still want to access to the trait method, you
need to alias is (rename it).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pharo-ide/Calypso/issues/304#issuecomment-423084742,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHxaoKCFHqifqYjNp2sn0EONX565evMWks5uc0zwgaJpZM4VqDWt
.

no because you cannot do "super myMethod" so is not accessible.
list it when is not there is just confusing.
Anyway, as you said, we already discussed this and my requirement remains so I will work on it :)

I have the idea how to implement it.
But now I am busy for details.
In short: inherited scopes should have flag showOverriddenMethods and
return InheritedClass instances instead of real classes
чт, 20 сент. 2018 г., 9:32 Esteban Lorenzano<EMAIL_ADDRESS>
no because you cannot do "super myMethod" so is not accessible.
list it when is not there is just confusing.
Anyway, as you said, we already discussed this and my requirement remains
so I will work on it :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pharo-ide/Calypso/issues/304#issuecomment-423092800,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHxaoBiHVG-6k_A0yxKR679CwmDuWXiUks5uc1KqgaJpZM4VqDWt
.

Thank you for looking into that. This is actually only thing keeping me from using Pharo 7 :)
Also I noticed that even aliased methods do not show at all (if you do uses: TMyTopTrait @ {#bar->#foo}, bar does not show although method is actually created)

I found possible solution. Idea to implement new scope ClyIncreasedClassScope which will take into account overridden method visibility.
It's not yet finished but implementation is not complex and will generally improve some logic around method visibility in browser.


[fix] val loader should not drop last by default.

Motivation
Val loader should not drop last by default.
Modification
add 'drop_last': False in val_loader_cfg by default.
Checklist
Before PR:

[x] Pre-commit or other linting tools are used to fix the potential lint issues.
[x] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[x] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[x] The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

[x] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects, like MMDet or MMSeg.
[x] CLA has been signed and all committers have signed the CLA in this PR.

@mzr1996

If not explicitly specified as False, it will be set to True in some cases.
https://github.com/open-mmlab/mmclassification/blob/c94e9b36699094ca8cfd975442474ca4ac47f083/configs/vision_transformer/vit-base-p16_ft-4xb544-ipu_in1k.py#L54
https://github.com/open-mmlab/mmclassification/blob/c94e9b36699094ca8cfd975442474ca4ac47f083/mmcls/apis/train.py#L209

If not explicitly specified as False, it will be set to True in some cases.
https://github.com/open-mmlab/mmclassification/blob/c94e9b36699094ca8cfd975442474ca4ac47f083/configs/vision_transformer/vit-base-p16_ft-4xb544-ipu_in1k.py#L54
https://github.com/open-mmlab/mmclassification/blob/c94e9b36699094ca8cfd975442474ca4ac47f083/mmcls/apis/train.py#L209

Get it

Thanks for your contribution. We will improve our respone SOP for community contribution. Feel free to share your ideas and comments on MMClassification.


Like to help modal

Added the above

Added the above

Regarding adding being able to close the modal by clicking out of it, I think that should be added as a separate ticket

Regarding adding being able to close the modal by clicking out of it, I think that should be added as a separate ticket

Looks good!

Looks good!


Make libinput and DRM backends optional

Some compositors may not need the libinput or DRM backend, because they provide
their own backends. Allow to build wlroots without these.

My proposal is at #2809

Closing in favor of https://github.com/swaywm/wlroots/pull/3058


Upload Architecture flowchart

Add a detailed architecture flowchart explaining the data flow between components.
Acceptance Criteria:

Create a flowchart with FastAPI, Redis, and DuckDB interactions.
Add the flowchart to the GitHub repository.
Link the flowchart in the README.

Used Visio to develop this flowchart ensuring the flow of the challenge based on the description in the challenge.


Fix dropdown text ellipsis

Follow https://github.com/go-gitea/gitea/pull/30547#discussion_r1573866519
Fix #30624
The Fomantic UI Dropdown wasn't designed to work that way, its "text" element might contain images. So the "overflow" shouldn't be added to any general dropdown text.

Sadly there seems to be no generic solution. One would think "text" contains only text, but apparently not.


Add iNLTK library

iNLTK is a python library built on top of Pytorch/Fastai, currently supports 12 Indic Languages and provides out of the box functionality for common NLP tasks

This should probably be listed under the dedicated section for Indian languages?

Done. Moved it under the Indic languages section.

Thanks a ton for the PR! It is merged now.
I don't know how I missed adding this for so long 👍


Can I apply SimplyTrack with pointpillar detector result ?

Greak work!
I already have pointpillar detector trained in our own dataset, and I want using your SimpleTrack, what should I prepare?
By the way, our detection result format is 'x,y,z,w,l,h,roll,pitch,yaw,score'.
Waiting for your reply!~

@mx2013713828 Thanks! Please convert the detection results into the box format then you are good to go. https://github.com/tusen-ai/SimpleTrack/blob/main/mot_3d/data_protos/bbox.py

Thank you for your reply. During this period, I have understood your code and applied it to my detection results.
Anyway, thank you!


fix potential race in PackageCollections.refreshCollections

motivation: CI crashes in PackageCollectsTest::testBrokenRefresh suggest a race condition in the code
changes:

change ThreadSafeArrayStore::apend to return the current count in a thread safe manner
update the callsite to use the count returned from append instead of after the append -- which could be racy

rdar://73884751

this is the 5.4 version of https://github.com/apple/swift-package-manager/pull/3232

@swift-ci please test


Provide an API to supersede System.getenv

Context
JVM stores all environment variables in an internal UnmodifiableMap and doesn't allow us to modify it. Previously we did a hackery for Gradle daemon - reflectively modify these environment variables, which is more and more difficult after Java 9. Aiming at superseding System.getenv, this PR provides a new API to get environment variables on daemon side.
Basically, what this PR does is:

Provides a new GradleSystem to fetch current "Gradle-managed" environment variables.
When daemon resets environment variable, it also reset these values in GradleSystem.
When a new process is forked by daemon, GradleSystem's environment variables are also passed to the forked process.

The TBD items above don't have to be in this pull request. Doing automatic code rewriting/warning is not critical, though a big bonus. If we do that, let's do it separately so we can get this one merged soon.
We just need some documentation, probably in the "build environment" chapter. Also we need to make sure that setting Gradle properties through ORG_GRADLE_PROJECT_propertyName-style variables now works again on Java 9+.

What I mean is that a static variable is shared by the class loader. This
inherently removes a lot of flexibility. I don't see any advantage in
restricting us like this.
Le mer. 18 juil. 2018 à 14:32, Stefan Oehme<EMAIL_ADDRESS>a
écrit :

@oehme commented on this pull request.
In
subprojects/base-services/src/main/java/org/gradle/api/GradleSystem.java
https://github.com/gradle/gradle/pull/5979#discussion_r203359719:

*/

+package org.gradle.api;
+
+import org.gradle.api.internal.GradleProcessEnvironment;
+
+import javax.annotation.Nullable;
+import java.util.Map;
+
+/**

Gradle environmental variable collection.

@since 4.10

*/
+@Incubating
+public class GradleSystem {

It doesn't prevent us from providing different environments to workers.
The worker API already has a way to mutate the environment on a per-worker
basis.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gradle/gradle/pull/5979#discussion_r203359719, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AATTxXFEnVOBOjBZ2aLJdsCu_qzT-v3Yks5uHyrPgaJpZM4VQfp0
.

@melix Which kind of API form do you expect?

@melix I don't know what kind of use case you have in mind, can you please elaborate?

@blindpirate I had a chat with Adam about this and we agreed to take a stab at a public BuildOption API which allows users to map environment variables to build options instead of accessing a static variable. Assinging this to me.

Okay, thanks!

On 25 Jul 2018, at 3:11 PM, Stefan Oehme<EMAIL_ADDRESS>wrote:
@blindpirate https://github.com/blindpirate I had a chat with Adam about this and we agreed to take a stab at a public BuildOption API which allows users to map environment variables to build options instead of accessing a static variable. Assinging this to me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/gradle/gradle/pull/5979#issuecomment-407656783, or mute the thread https://github.com/notifications/unsubscribe-auth/AMGhq0G2Gyw1KvFb4L-Se1F6hs_IuSLiks5uKBoFgaJpZM4VQfp0.

@oehme Are we still going to provide an API for environment variables from the Gradle side? Is there an issue for doing so?

@wolfs That's covered by https://github.com/gradle/gradle/issues/2885


hard code minimum KSP version Interstellar Redistributable

It should be available for install from any KSP version starting from KSP 1.8.1
Closes https://github.com/KSP-CKAN/CKAN-meta/pull/2386

Yup, that looks good, thanks for the update!


kakoune: escape showWhitespace separators

Description
We were passing the separators for the show-whitespaces highlighter
verbatim. This was problematic in case one wanted to use, spaces,
quotes or % as separators since the resulting kakoune configuration
would be invalid.
According to kakoune's docs, the separator has to be one character
long, so we can use a simple rule for escaping them. It is possible
that people has been working this around by passing, e.g. "' '" as
separator in order to get a space, so we just let longer strings be used
verbatim as before.
Checklist

[x] Change is backwards compatible.

[x] Code formatted with ./format.

[x] Code tested through nix-shell --pure tests -A run.all.

[x] Test cases updated/added. See example.

[x] Commit messages are formatted like
{component}: {description}

{long description}

See CONTRIBUTING for more information and recent commit messages for examples.

~If this PR adds a new module~

any kakoune user to comment ?

@dermetfan, I think you were the original contributor of the whistespace highlighter support; could you review?

The test failure seems unrelated and is hopefully safe to ignore. So I rebased this to master in d1f4d1514d6295907759b386d8d7c8d85a864564. Many thanks for all your work.


[server] speech server

PR types

New features
PR changes

Others
Describe

speech server
#1368
#1369

 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.


[QUESTION] pydantic model validation

Hello! I would like to validate a field on Pydantic, this is not hard. My problem is the next. This field is a UniqueConstrain in the database and i have to ask Database with SqlAlchemy if exists, and FastApi has not a system to pass context or something like that to share with BaseModel my database session to check it.
How can I validate my unique constrain into Pydantic?
At this time, the solution that i found it, it is to check on the view, but i think it should not do it there, it does?
Thank you!

You're doing it right. It should be done inside the path operation, or even dependency if you want. That wouldn't belong to part of the validations done by Pydantic.
Those validations are for the data shape and types. The relationships between whatever comes in those shapes and types with your actual database belongs to the next layer, your application code.
I imagine this answers your question, so I'll close this issue. But feel free to add more comments.


Binding faild

nfs-service broker in pcf 1.10.3 (seems version 0.1.5)
Binding service tstnfs to app pyapp in org testorg / space testapp-sps as admin...
FAILED
Server error, status code: 502, error code: 10001, message: The service broker returned an invalid response for the request to https://nfsbroker.sys.pcfpoc.com/v2/service_instances/c0499800-ff21-429f-ab82-ee674f71407c/service_bindings/c81a6e37-5aa7-409d-83ba-28650eaa481a.
Try putting them in quotes and see if you don't get better results.

thanks.
this workaround solved the problem.
but uid and gid on UNIXes system are INTEGERs!

It is true.  I am going to leave this open until we have fixed the behavior in the broker.  Triggering a panic is clearly not the right thing to do.
Thanks for retesting and confirming the source of the issue!

This is now fixed in the master branch.


Escaping secrets used in signing.

Thank you for the patch!

Thank you for taking it.
On November 7, 2020 12:32:05 p.m. EST, Arne Roomann-Kurrik<EMAIL_ADDRESS>wrote:

Thank you for the patch!
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/kurrik/oauth1a/pull/16#issuecomment-723472490

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


[PITCH]: Support indent level change

Problem
YAML relies on correct indents. When copying parts of the Async API YAML and pasting it into the AsyncAPI Studio, the indent must sometimes be adjusted manually by adding spaces one after the other. This is very cumbersome and error prone.
Solution
Support indent changes for the selected lines by

increasing indent by one level when using TAB
decreasing indent by one level when using SHIFT+TAB

Rabbit holes

It must be prevented that the TAB changes focus
The correct indent size must be determined (e.g. 2 spaces)

Scope

[ ] Implement key listener on TAB and SHIFT
[ ] Add method to get the currently selected line numbers
[ ] Implement code modifier that adds spaces in the front of each selected line

Out of bounds
No response
Success criteria

One line can be selected and the indent changes when pressing TAB or SHIFT+TAB
Multiple lines can be selected and the indent changes when pressing TAB or SHIFT+TAB

Thanks for submitting this Issue, however this is already working (I'm tried with Chrome/Firefox/Safari)
https://www.loom.com/share/f99b17706e464e6abfa5b991453af493?sid=f82b3ec5-db25-427f-9c41-376e1b22c9ea


[Issue] Scoreboard style resets on relaunch

The sidebar style resets back to the mod's custom one when you restart the game, regardless of which style you had selected when you closed the game.  This seems to only affect full restarts, as switching worlds or leaving and rejoining keeps the style you have selected.
I have not tested multiplayer but I assume the same applies, as it seems the client doesn't have any way of tracking which type you had selected while the game is closed, so it reverts back to default when the game is closed.

Yeah, I didn't get around to implementing that yet! Thanks for the input, I'll try to add that in for the next release!


Auto complete for JS code in HTML file

Auto complete in HTML file for js code in script tags seems to ignore the first function declaration.
In the following code the Tern only gives test2 and test3 as available options:
function test1 () {}
function test2 () {}
function test3 () {}

If the script tag starts with variable declaration auto complete shows all the functions and the variable.
In the following code the Tern shows all the identifiers as available options (test1, test2, test3, and test4).
var test4;
function test1 () {}
function test2 () {}
function test3 () {}

http://screencast.com/t/ZlUmAVbLlGiW
Is this a bug?
Thank you!

If you wish to use tern inside HTML file, please try https://github.com/angelozerr/tern-browser-extension

We have workaround it, but thanks for the suggestion.

@stoskov https://github.com/angelozerr/tern-browser-extension provides not only extraction of JS from HTML. It provides too completion and go at definition for HTML elements ids :


Escape config name and title in str()

@yakky please review and commit if you're OK with this.

Coverage increased (+0.03%) to 92.674% when pulling f4644cf5633d94268c8feabbc82de6fafd795e4e on mkoistinen:feature/sanitize_config_str into d17539998a5f638cec9f88bc269271fd9b37124b on aldryn:master.

You're quite right. Closing.


Run cbor gen in parallel

Run cbor gen in parallel for faster generation.

I'm not sure this is safe as these packages have cross-dependencies on each other, and cbor-gen will use go toolkit to resolve symbols, but if it works, it works.

It's fine because we've already compiled so reflection uses the pre-compiled code.

Ahh, right.

(I had the same "how does this even work" reaction)


Uncaught Error: Unexpected packet before version

[Enter steps to reproduce:]

Configure remote-sync with the a user not available (www-data for example)
Try to upload
An error occurs

Atom: 1.22.1 x64
Electron: 1.6.15
OS: Mac OS X 10.13.1
Thrown From: remote-sync package 4.1.8
Stack Trace
Uncaught Error: Unexpected packet before version
At events.js:160

Error: Unexpected packet before version
    at SFTPStream._transform (/packages/remote-sync/node_modules/ssh2-streams/lib/sftp.js:304:27)
    at SFTPStream.Transform._read (_stream_transform.js:167:10)
    at SFTPStream._read (/packages/remote-sync/node_modules/ssh2-streams/lib/sftp.js:181:15)
    at SFTPStream.Transform._write (_stream_transform.js:155:12)
    at doWrite (_stream_writable.js:332:12)
    at writeOrBuffer (_stream_writable.js:318:5)
    at SFTPStream.Writable.write (_stream_writable.js:245:11)
    at Channel.ondata (_stream_readable.js:555:20)
    at emitOne (events.js:96:13)
    at Channel.emit (events.js:188:7)
    at Channel.Readable.read (_stream_readable.js:381:10)
    at flow (_stream_readable.js:761:34)
    at resume_ (_stream_readable.js:743:3)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Commands
     -0:48.8.0 remote-sync:upload-folder (span.name.icon.icon-file-directory)

Non-Core Packages
docker 0.8.0
remote-sync 4.1.8
wordpress-api 1.2.2
wordpress-suite 1.2.0

Has this happened more than once?

Hi,
It started happening to me today:

Atom: 1.23.3 x64
OS: Windows 10
remote-sync : v4.1.8

Whoever is having this issue, log in to your box via regular ssh first.
If you're seeing random text coming into your terminal, that is most likely your problem.
Figure out what's causing it and stop it (checking for rogue echo statements in the .bash* files is a good start)


Less v2

Coverage increased (+0.58%) when pulling d6bbd2a44cce37c0914f7403d500c889c637cade on less-v2 into dc6bf289f6a3fd688ad80e114d6f4e9ec7d8a014 on develop.

This PR will fix #89


Save all requests feature

I have seen this feature in the DBeaver database tool that I use for work. So in the tool you can open multiple scripts (scripts are akin to the requests we open in Bruno) and make changes to it as needed to run the queries, but to save the changes there are two options to save these scripts, either one by one by pressing Ctrl + s on your keyboard or there is more efficient and faster way to save multiple scripts at once by pressing Ctrl + Shift + s both of these keyboard shortcuts are on windows and I have personally found the save all feature to be particularly useful. Before using Bruno I was using the Insomnia API client and there was no need to actually save any requests on there unlike on Bruno where only the saved ones will have the progress saved. I wanted to propose the save all feature for all requests in Bruno as well. I can provide more details if need be, feel free to ask any questions.
Thank you for reading :)

I think the feature you are describing already has an open issue, see #737.

Thank you for responding @MaikelH , I hope it gets added sometime soon, it's very handy lol

I have marked this issue as a duplicate as it is already being tracked here: https://github.com/usebruno/bruno/issues/737


Sample request: Workflow update

Describe the solution you'd like
Demonstrate workflow update including validator

WIP https://github.com/temporalio/samples-dotnet/pull/40


Github Actions Client: Yaml config parser

Author the user story for this feature
As a user, I want to be able to configure Github Actions integration with yaml config so I can manage configurations more easily.
Is your feature request related to a problem? Please describe.
Ability to config Github Actions Client via yaml file.
Describe the solution you'd like
Design configuration template.
Implement Github Actions Client yaml configuration parser.
Additional context
Adding new integration documentation

Suggested fields, more info can be obtained from @solid-vladlaba @solid-daniyilyevtyushkin:
repositoryName:
repositoryOwner:
workflowIdentifier: // either workflow id or file name that defines this workflow
accessToken: // can be null for public repositories


Flask integration not capturing exceptions

No matter what I do, exceptions are not appearing in the project.
Run this script from the docs, substituting a DSN:
import sentry_sdk
import flask
from sentry_sdk.integrations.flask import FlaskIntegration

print(flask.__version__)
sentry_sdk.init(
<EMAIL_ADDRESS>    integrations=[FlaskIntegration()]
)

app = flask.Flask(__name__)

@app.route('/')
def trigger_error():
    division_by_zero = 1 / 0

app.run()

The logs show the exception when visiting the index:
1.1.1
 * Serving Flask app "scratch_540" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
INFO:werkzeug: * Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
ERROR:scratch_540:Exception on / [GET]
Traceback (most recent call last):
  File "/home/alex/.cache/pypoetry/virtualenvs/stanbic-trader-solutions-py3.7/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/alex/.cache/pypoetry/virtualenvs/stanbic-trader-solutions-py3.7/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/alex/.cache/pypoetry/virtualenvs/stanbic-trader-solutions-py3.7/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/alex/.cache/pypoetry/virtualenvs/stanbic-trader-solutions-py3.7/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/alex/.cache/pypoetry/virtualenvs/stanbic-trader-solutions-py3.7/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/alex/.cache/pypoetry/virtualenvs/stanbic-trader-solutions-py3.7/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/alex/.PyCharm2019.3/config/scratches/scratch_540.py", line 16, in trigger_error
    division_by_zero = 1 / 0
ZeroDivisionError: division by zero
INFO:werkzeug:<IP_ADDRESS> - - [10/Feb/2020 15:07:23] "GET / HTTP/1.1" 500 -

I think the exception is supposed to be caught here:
https://github.com/getsentry/sentry-python/blob/c06a0c6470ac22204f056fbf01a79090626c435d/sentry_sdk/integrations/wsgi.py#L118-L126
but that code runs without raising an exception at that level, because Flask already caught my exception here: https://github.com/pallets/flask/blob/2c66746a37e52a784b0cf6361cdaef765080538a/src/flask/app.py#L1939-L1945
In fact wsgi._capture_exception isn't called at all.
I'm running the latest versions:

sentry-sdk==0.14.1
Flask==1.1.1

Well this is embarrassing....seems I copied the wrong DSN.


Add ability to specify a URL prefix for webhooks

I looked at test/scripts/http_test.coffee to try to add tests for this, but there currently aren't any. Is there an issue with testing the hubot router?

Version 0.13.25 is out with your changes.

Thank you, much appreciated!


Fix Condition codeblock syntax

Why:
Closes #11787

What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Contact me a please


AST Serialize Reading

Handle alignment issues during writing
Ability to write serialized data to a Stream
Fast pass implementation of ASTSerialReader

Load directly from in memory serial data

Yes needs more documentation/description for sure will add.


Docker 17.12.0-ce

UPdate of AMI for AWS cluster deployment
Verification
deploy a cluster on AWS
Check the dashboards (look at the outputs of the cluster creation for the URL), the list of nodes at the bottom of the dashboard shows the Docker version.

superseded by #1802


wip: version 1.0.0

Draft PR for organizing the steps left for a 1.0.0 version.

[ ] Make this not a header only library. Library pollution?

[ ] C++17 maybe_unused cast to suppress warning(s) about unused results in production builds.

[ ] Ensure CMakeLists.txt is up to speed.

[ ] Fetches dependencies correctly and configures these for our use.

[ ] Implement waf resolving for dependencies and fill dependencies in resolve.json.

[ ] Might need a wrapping libassert github repo for the libassert dependency.
[ ] Ensure that the case of no libassert does not still require any libassert.

[ ] Implement graceful downgrades from libassert where its unavailable.
[ ] Validate that it doesn't pollute consumers with dependencies or its internal implementation needlessly.

[ ] Consider namespacing into steinwurf.

[ ] Create some basic tests where each type of assertion is checked for each type. Make these os agnostic.
[ ] Delete the example.cpp currently used for testing. :sweat_smile:
[ ] Refine documentation in README.rst.
[ ] Add CI on project. Ensure that we can build for the various platforms we support.

[ ] MacOS.
[ ] Linux.
[ ] Windows.
[ ] Others?

[ ] Create the first release meant for external use 1.0.0. :tada:

Seems that VERIFY exists as a keyword in MSVC. Will have to check if this is reserved as a keyword, and if that will cause any issues. https://learn.microsoft.com/en-us/cpp/mfc/reference/diagnostic-services?view=msvc-170#verify
Other alternatives could be ENSURE or ASSURE if this would end up being a problem.

Seems that VERIFY exists as a keyword in MSVC's MFC API. Will have to check if this is reserved as a keyword, and if that will cause any issues. https://learn.microsoft.com/en-us/cpp/mfc/reference/diagnostic-services?view=msvc-170#verify
If it does, other alternatives could be ENSURE or ASSURE.

Merged to master at commit https://github.com/steinwurf/verify/commit/90726b20ed9a8c2214c57e0e32a5d8226ee7dca2