dnd 5e – Does making an attack with a previously cast Spiritual Weapon spell cause the Invisibility spell to end?

Invisibility states:

The spell ends for a target that attacks or casts a spell.

and Spiritual Weapon states:

you can make a melee spell attack against a creature within 5 feet of the weapon.
(…)
As a bonus action on your turn, you can move the weapon up to 20 feet and repeat the attack against a creature within 5 feet of it.

Since using Spiritual Weapon involves making an attack it breaks Invisibility.

Furthermore you can look to the rule in the section “Making an Attack” (PHB, page 194):

If there’s ever any question whether something you’re doing counts as an attack, the rule is simple: if you’re making an attack roll, you’re making an attack.

jpeg – Lightroom: how to not lose quality by exporting a photo from a previously exported photo collection?

enter image description hereI’m thinking to use Lightroom in order to organize catalogues by year (to avoid having large areas of files that I normally have in the cloud and download locally to work them).

Having catalogs per year precludes me from creating trans-year collections. Therefore the idea could be to work with collections per year and then on the folders of the exported items per year create a super catalog (of the best photos) from which to create trans-year collections.

The question is: is there any way to do not lose quality by exporting a photo from a previously exported photo collection?

jpeg – Lightroom: how to do not lose quality by exporting a photo from a previously exported photo collections?

I'm thinking to use Lightroom in order to organize catalogs by year (to avoid having large areas of files that I normally have in the cloud and download locally to work them).

Having catalogs per year precludes me from creating trans-year collections. Therefore the idea could be to work with collections per year and then on the folders of the exported items per year create a super catalog (of the best photos) from which to create trans-year collections.

The question is: is there any way to do not lose quality by exporting a photo from a previously exported photo collection?

postgresql – Unable to use a selection join with this data when it was previously working

I'm trying to debug a really weird problem.

One of the parts of my database that was working properly suddenly stopped working. I limited the problem to this:

First of all: these are my databases

users: id(int), email(var).....
calendar : id(int) , user_id(int)(fk->users(id))
calendar_field : id(int), text(text), rating(int), calendar_id(int)(fk-> calendar(id)), week_number(int)

Here is their creation script:

USERS:

    -- Table: public.users

-- DROP TABLE public.users;

CREATE TABLE public.users
(
    id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
    email character varying(254) COLLATE pg_catalog."default" NOT NULL,
    password character varying(60) COLLATE pg_catalog."default" NOT NULL,
    refreshtoken character varying COLLATE pg_catalog."default",
    birth_date date,
    first_name character varying COLLATE pg_catalog."default",
    second_name character varying COLLATE pg_catalog."default",
    years_to_live integer,
    register_date date,
    death_date date,
    weeks_to_live integer,
    CONSTRAINT users_pkey PRIMARY KEY (id),
    CONSTRAINT users_email_unique UNIQUE (email)
)

TABLESPACE pg_default;

ALTER TABLE public.users
    OWNER to postgres;

CALENDAR:

        -- Table: public.calendar

-- DROP TABLE public.calendar;

CREATE TABLE public.calendar
(
    id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
    user_id integer,
    CONSTRAINT calendar_pkey PRIMARY KEY (id),
    CONSTRAINT "userId" FOREIGN KEY (user_id)
        REFERENCES public.users (id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
)

TABLESPACE pg_default;

ALTER TABLE public.calendar
    OWNER to postgres;

CALENDAR_FIELD

 -- Table: public.calendar_field

-- DROP TABLE public.calendar_field;

    CREATE TABLE public.calendar_field
    (
        id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
        text text COLLATE pg_catalog."default",
        rating integer,
        calendar_id integer NOT NULL,
        week_number integer,
        CONSTRAINT "CalendarField_pkey" PRIMARY KEY (id),
        CONSTRAINT "calendarField_calendar_id_fk_calendar_id" FOREIGN KEY (calendar_id)
            REFERENCES public.calendar (id) MATCH SIMPLE
            ON UPDATE CASCADE
            ON DELETE CASCADE
    )

    TABLESPACE pg_default;

    ALTER TABLE public.calendar_field
        OWNER to postgres;

Well, what's the problem over there? My program generates the following data in the database:

users:

- id: 58
- email: email1@email.com
- password: password
- refreshtoken: hash....
- birth_date: 2008-08-08
- first_name: first
- second_name: second
- years_to_live: 100
- register_date: 2020-05-12
- death_date: 2097-12-08
- weeks_to_live 5218

calendar:

- id: 64
- user_id: 58

calendar_field

-id: 462640
-text: notext
-rating: 0
-calendar_id: 64
-week_number: 1

And when I try to do it, select

SELECT * from calendar_field cf join calendar c on (c.user_id = cf.calendar_id) where week_number='1' and user_id='58';

It does not return any lines, when I remember perfectly how it returned certain lines

It's not funny, it's only when I insert the data manually, filling 1 by 1 each field with pgadmin, for example with this:

users:

- id: 58
- email: email2@email.com
- password: password
- refreshtoken: token
- birth_date: null
- first_name: null
- second_name: null
- years_to_live: null
- register_date: null
- death_date: null
- weeks_to_live null

calendar:

- id: 65
- user_id: 77

calendar_field

-id: 3000
-text: sd
-rating: 0
-calendar_id: 65
-week_number: 1

And then I run it also returns 0 lines

SELECT * from calendar_field cf join calendar c on (c.user_id = cf.calendar_id) where week_number='1' and user_id='77';

(At the time of writing, the above selection does not work, but sometimes after manually inserting the data, it worked)

And with the two data inserted during the launch

SELECT * from calendar_field cf join calendar c on (c.user_id = cf.calendar_id) ; will also return 0 lines. What's going on?

After changing the Microsoft password, one can still connect to previously authenticated Windows devices with the old password indefinitely. Why?

Has anyone else noticed that if you are using a Microsoft account for Windows, after changing your password, the old password can still be used indefinitely on devices previously authenticated? I have one that I changed a year ago and it still works to connect. The change was made from Windows settings.

I'm sure there is a caching of credentials for logging in without network access, but it doesn't make sense to persist indefinitely. A secondary set of credentials for the local account linked to the Microsoft account can be static even after a password change (so the password for the local account is never set up to date). But that seems wrong, in terms of security. Users would expect a change of password to invalidate old credentials.

Or is it somehow just me?

Indian citizens – To apply for a Canadian visa, should I mention the British visa I had previously?

You must answer all questions honestly. Australia, Canada, New Zealand, the United Kingdom and the United States share immigration data https://en.wikipedia.org/wiki/Five_Eyes; while the extent to which they do so is unknown, you must assume that Canada will know or can easily find out about your previous British visa. Having a "clean" passport makes no difference – your visa history can be traced via biometrics, for example.

You don't say why you don't want to disclose your UK visa, which it seems reasonable to assume you have something to hide. If you are telling the truth, it may not affect your candidacy. If you lie, there is a good chance that it will be discovered and your request will be refused. You will then have a black mark on your immigration history which will be difficult to overcome, plus a possible ban on deception. If you think everything you are trying to hide is serious enough to justify the lie in a visa application – do not apply.

How can I store the data in the selected checkboxes, save it in context and recapture the data that I previously selected?

I have a card where I store the checkboxes and I already have them in context but I don't know how when I go back to the page to check the data that I have already selected

8 – How can I fill in and reference the reference fields / videos that were previously migrated to the media library?

Upgrading from D7 to D8, we previously migrated YouTube and Vimeo D7 videos to the main media library in Drupal 8.8. We are now trying to migrate the video nodes and their media library video fields (which point to video / video_url media sets / types in the media library).

We have been able to tempt each other closer, even to the point where we can use migration_lookup to retrieve the correct media IDs and even fill in a text field on the video node with the correct remote youtube link. But for the life of me, I can't figure out how to fill in the reference video field of the media library. Here is the migration I tried. The first migration at the top (field_gbz_video_ref) is for the video field on the node (and it doesn't work) – and below is for a simple text field that I configured on the node to test what works very well good! I can get the correct multimedia identifier, the youtube video, the link to the thumbnail, all this in the text field but nothing with the one above for the multimedia field.

# Non-working entity reference video field
  field_gbz_video_ref/0/target_id: 
        plugin: sub_process
        source: field_gbz_video_ref
        process:
          # Look up the ID of the media entity created by the 'd7_file_entity_vimeo'
          # and 'd7_file_entity_youtube' migrations and store them as pseudo-fields,
          # which we'll need to load the media entity in the 'media_entity'
          # psuedo-field.
          media_id:
            plugin: migration_lookup
            migration:
              - gbz_media_video_remote_vimeo
              - gbz_media_video_remote_youtube
            # We have to make sure to tell the Migrate process not to create stubs
            # for non-existent media entities; without this, we'd get a fatal error
            # in the 'entity_load' plug-in when it tries to load it.
            no_stub: true
            source: fid

          # Load the media entity created by either the 'd7_file_entity_vimeo' or
          # the 'd7_file_entity_youtube' migrations and store it as a pseudo-field.
          # Note that the 'entity_load' plug-in is not in Migrate Plus at the time
          # of writing this migration (2019-06-07), so requires the following patch:
          # https://www.drupal.org/project/migrate_plus/issues/3018849#comment-12928073
          media_entity:
            plugin: entity_load
            entity_type: media
            source: '@media_id'
          # Finally, store the media entity's video URL as this field's value.
          value: '@media_entity'


# Working text field that can be populated with the correct video reference info like media ID #
  field_gbz_legacy_video:
        plugin: sub_process
        source: field_gbz_video_ref
        process:
          # Look up the ID of the media entity created by the 'd7_file_entity_vimeo'
          # and 'd7_file_entity_youtube' migrations and store them as pseudo-fields,
          # which we'll need to load the media entity in the 'media_entity'
          # psuedo-field.
          media_id:
            plugin: migration_lookup
            migration:
              - gbz_media_video_remote_vimeo
              - gbz_media_video_remote_youtube
            # We have to make sure to tell the Migrate process not to create stubs
            # for non-existent media entities; without this, we'd get a fatal error
            # in the 'entity_load' plug-in when it tries to load it.
            no_stub: true
            source: fid

          # Load the media entity created by either the 'd7_file_entity_vimeo' or
          # the 'd7_file_entity_youtube' migrations and store it as a pseudo-field.
          # Note that the 'entity_load' plug-in is not in Migrate Plus at the time
          # of writing this migration (2019-06-07), so requires the following patch:
          # https://www.drupal.org/project/migrate_plus/issues/3018849#comment-12928073
          media_entity:
            plugin: entity_load
            entity_type: media
            source: '@media_id'

          # Finally, store the media entity's video URL as this field's value.
          # value: '@media_entity/field_media_oembed_video/0/value'
          value: '@media_entity/field_media_oembed_video/0/value'

What am i doing wrong? Here is the EntityLoad.php plugin in case it helps:

entityTypeManager = $entity_type_manager;

    if (empty($this->configuration('entity_type'))) {
      throw new InvalidArgumentException("'entity_type' configuration must be specified for the entity_load process plugin.");
    }
    $entity_type = $this->configuration('entity_type');
    $this->entityStorage = $this->entityTypeManager->getStorage($entity_type);

    $this->langCodeRef = isset($this->configuration('langcode')) ? $this->configuration('langcode') : NULL;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static(
      $configuration,
      $plugin_id,
      $plugin_definition,
      $container->get('entity_type.manager')
    );
  }

  /**
   * {@inheritdoc}
   *
   * @throws DrupalComponentPluginExceptionInvalidPluginDefinitionException
   * @throws DrupalComponentPluginExceptionPluginNotFoundException
   * @throws DrupalmigrateMigrateException
   */
  public function transform($value, MigrateExecutableInterface $migrateExecutable, Row $row, $destinationProperty) {

    $this->multiple = is_array($value);
    if (!isset($value)) {
      return ();
    }
    $ids = $this->multiple ? $value : ($value);
    $entities = $this->loadEntities($ids);

    $langcode = $this->langcodeRef ? $row->get($this->langcodeRef) : NULL;
    $arrays = array_map(function (EntityInterface $entity) use ($langcode) {
      if ($entity instanceof ContentEntityInterface) {
        if ($langcode) {
          $entity = $entity->getTranslation($langcode);
        }
        else {
          $entity = $entity->getUntranslated();
        }
      }
      else {
        if ($langcode) {
          throw new InvalidArgumentException('Langcode can only be used with content entities currently.');
        }
      }
      return $entity->toArray();
    }, $entities);

    $return = $this->multiple ? array_values($arrays) : ($arrays ? reset($arrays) : ());
    return $return;
  }

  /**
   * {@inheritdoc}
   */
  public function multiple() {
    return $this->multiple;
  }

  /**
   * Load entities.
   *
   * @param array $ids
   *   The entity IDs.
   *
   * @return DrupalCoreEntityEntityInterface()
   *   The entities.
   */
  protected function loadEntities(array $ids) {
    $entities = $this->entityStorage->loadMultiple($ids);
    return $entities;
  }

}

The reference video field of the impenetrable entity

macos – How do I request a refund for an app I previously purchased now becomes free to download?

According to the title, the reason I would like to request a refund is not because it has become free to download.
The main reason is that this Splashtop Wired XDisplay application has ceased to support the latest version of macos, where it totally failed to allow me to use my ipad as a secondary display for my mac.